我有一个包含这些记录的表:
id code date
----- ------ -----
1 12 2016-01-01
2 12 2016-01-02
3 17 2016-01-03
4 12 2016-01-04
5 17 2016-01-05
6 17 2016-01-06
7 17 2016-01-07
我使用这个查询:
SELECT `id`, `code`, `date`, COUNT(*) AS total
FROM `foo`
GROUP BY (code)
ORDER BY (id) DESC
我明白了:
id code date total
----- ------ ------ ------
3 17 2016-01-03 4
1 12 2016-01-01 3
但我需要显示这个:
id code date total
----- ------ ------ ------
7 17 2016-01-07 4
4 12 2016-01-04 3
这可能吗?非常感谢。
最佳答案
使用MAX
函数:
SELECT
MAX(id) AS id,
code,
MAX(date) AS date,
COUNT(*) AS total
FROM foo
GROUP BY code
ORDER BY MAX(id) DESC;
关于mysql - count(*) 查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36143454/