gpt4 book ai didi

MySQL 如何将多组数据和列连接到一张表中

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

I am having trouble understanding the structure of the query i wish to perform. What i have is a large set of data in a table with multiple UnitID's. The units have temperatures and Timestamps of when the temperatures where recorded.

I want to be able to display the data where I can see the Average temperature of each unit separated in a weekly interval.

<小时/><小时/>

对我之前的帖子表示歉意,我还是一个查询新手。但我会向你展示我到目前为止所做的事情。

SELECT UnitID AS 'Truck ID',  
AVG(Temp) As 'AVG Temp',
LogTime AS 'Event Time',
DAY(g.`LogTime`) as 'Day',
MONTH(g.`LogTime`) as 'Month',
COUNT(*) AS 'Count'
FROM `temperature` as g
WHERE DATE_SUB(g.`LogTime`,INTERVAL 1 WEEK)
AND Ana > 13 AND Ana < 16 AND NOT g.Temp = -100
GROUP BY 'truck id', YEAR(g.`LogTime`),MONTH(g.`LogTime`),WEEK(g.`LogTime`)
Order BY 'truck id', YEAR(g.`LogTime`),MONTH(g.`LogTime`),WEEK(g.`LogTime`)
;

(抱歉,我暂时不知道如何显示表格结果)

此结果为我提供了一辆卡车的每周平均温度,并显示了记录温度的日期,以及每辆卡车每周的温度计数。

我要执行的查询创建 5 列,分别是 UnitID、Week1、Week2、Week3、Week4。
在“周”列中,我希望能够显示每辆卡车的每周(一周中的每一天)平均温度,其中下一周设置为上一周之后的一周(即,第二周设置为显示平均温度) (临时)从第一周开始一周)。

这就是我在如何创建查询的结构上陷入困境的地方。我不确定是否需要创建子查询或使用 Union 子句。我尝试了几个查询,但我已删除它们,因为它们不起作用。我不确定这个查询是否太复杂或者是否可能。

如果有人能够提供帮助,我将不胜感激。如果我可以提供任何其他有帮助的信息,我会尽力提供。

希望这个问题可以解决。 :p

最佳答案

MySQL 有一个 WEEK 函数,它将以整数 (0-52) 返回一年中的第几周。您可以在 GROUP BY 子句中使用它,然后使用 AVG 聚合函数来获取平均温度。您的查询将如下所示:

SELECT unitID, WEEK(dateColumn) AS week, AVG(tempColumn) AS averageTemperature
FROM myTable
GROUP BY unitID, WEEK(dateColumn);

以下是其他有用的列表 Date and Time Functions这对于查询数据库可能有用。

关于MySQL 如何将多组数据和列连接到一张表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31165376/

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