mysql - count(*) 查询问题

标签 mysql count

我有一个包含这些记录的表:

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函数:

SQL Fiddle

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/

相关文章:

mysql - SQL - 计算词频

xcode - swift 2 : Function counting occurrence in string not working

php - 在查询中计数两次,一次使用限制

python - 根据出现次数对 python 中的列表进行计数/排名

ios - 如何在 swift 中使用文本字段文本 "Amount"向表格 View 添加额外的行

php - php 批量更新

php - 检查两个给定开始时间和结束时间之间是否存在时间范围

mysql - Mac 10.12 上的错误 : Error installing mysql2: ERROR: Failed to build gem native extension.

javascript - Sails js 未声明的变量 : NaN when modelling associations

arrays - 尝试计算用户输入的字符数,但它也在计算 [""],而不仅仅是用户输入的单词。