gpt4 book ai didi

mysql - SQL `GROUP BY` 和 `MAX()`

转载 作者:行者123 更新时间:2023-11-29 01:51:03 28 4
gpt4 key购买 nike

Language    Date
----------------------
HTML 2017-03-15
HTML 2017-03-15
HTML 2017-03-19
JavaScript 2017-03-12
JavaScript 2017-03-17
PHP 2017-03-15
PHP 2017-03-17
PHP 2017-03-18
PHP 2017-03-18

我需要一个按 language 分组的结果,第二列是来自最新日期条目的每个语言行的 COUNT()。并非所有语言都有相同日期的条目。

对于上表,结果应该是:

HTML        1
JavaScript 1
PHP 2

最佳答案

这是一种方法:

select language, count(*)
from t
where t.date = (select max(t2.date)
from t t2
where t2.language = t.language
)
group by language;

这使用相关子查询来匹配每种语言的最新日期。还有其他方法,例如使用 join 或:

select language, count(*)
from t
where (t.language, t.date) in (select t2.language, max(t2.date)
from t t2
group by t2.language
)
group by language;

关于mysql - SQL `GROUP BY` 和 `MAX()`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42889507/

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