gpt4 book ai didi

mysql - SQL - 返回具有 MAX COUNT 的值的行

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

我想访问天气表并按天和月对其进行总结。我希望一些值是 AVG,一些是 SUM。

我想用代表最大计数的集体数据中的值来支撑结果记录,但经过几次组合后,我还没有成功。

示例数据:

day_date                main_weather     temp
2012-01-01 07:00:00 Cloudy 8.0
2012-01-01 08:00:00 Cloudy 10.0
2012-01-01 09:00:00 Sunny 12.0
2012-01-01 10:00:00 Sunny 16.0
2012-01-01 11:00:00 Sunny 18.0

想要的结果:

DATE(day_date)          MAX(COUNT(main_weather)     AVG(temp)
2012-01-01 Sunny 12.8

这是我的第一个 SQL 来展示我想要做什么:

SELECT 
DATE(`day_date`),
MAX(COUNT(`main_weather`)), <--- this is the piece I am stuck with the max values.
AVG(`temp`)
FROM `sma_weather`
GROUP BY `day_date`;

最佳答案

看起来相关子查询可以做到这一点,但不确定它的扩展效果如何。

SELECT 
DATE(`day_date`) AS day
, (
SELECT w1.`main_weather`
FROM `weather` w1
where DATE(w1.`day_date`) = DATE(`weather`.`day_date`)
GROUP BY
DATE(`day_date`)
, `main_weather`
order by count(*) DESC
limit 1
) AS max_count_weather
, AVG(`temp`) AS av_temp
FROM `weather`
GROUP BY
DATE(`day_date`)
;

See this SQLFiddle

关于mysql - SQL - 返回具有 MAX COUNT 的值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26053732/

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