gpt4 book ai didi

mysql - 在不同条件下多次从同一列中选择数据

转载 作者:行者123 更新时间:2023-11-29 05:56:05 25 4
gpt4 key购买 nike

我有一张表,用于存储 3 个不同楼层的总耗电量。每天新增 3 行,每层记录 1 条记录。

--------------------------------------------------
--FloorNumber--TotalDailyConsumption--DateStamp---
--------------------------------------------------
-- 1 -- 1200 --2018-03-10--
-- 2 -- 1650 --2018-03-10--
-- 3 -- 1900 --2018-03-10--
-- 1 -- 1400 --2018-03-09--
-- 2 -- 1150 --2018-03-09--
-- 3 -- 1270 --2018-03-09--
--------------------------------------------------

我正在尝试创建一个查询,以返回过去 7 天内每层楼的每日总消耗量。数据会自动插入到数据库中。

----------------------------------------
--DateStamp---Floor1--Floor2--Floor3----
----------------------------------------
--2018-03-10-- 1200 -- 1650 -- 1900 --
--2018-03-09-- 1400 -- 1150 -- 1270 --
----------------------------------------

我目前有以下查询,我知道它只返回 1 楼的值,但我不知道如何扩展它以包括其他两层楼。

SELECT DateStamp, TotalDailyConsumption AS Floor1 FROM floor WHERE
FloorNumber = 1 AND DateStamp >= DATE_ADD(CURDATE(), INTERVAL -7 day)
ORDER BY DateStamp DESC

最佳答案

您需要group by 和条件聚合:

SELECT DateStamp,
SUM(CASE WHEN FloorNumber = 1 THEN TotalDailyConsumption END) AS Floor1,
SUM(CASE WHEN FloorNumber = 2 THEN TotalDailyConsumption END) AS Floor2,
SUM(CASE WHEN FloorNumber = 3 THEN TotalDailyConsumption END) AS Floor3
FROM floor f
WHERE DateStamp >= DATE_ADD(CURDATE(), INTERVAL -7 day)
GROUP BY DateStamp
ORDER BY DateStamp DESC;

关于mysql - 在不同条件下多次从同一列中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49213478/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com