MySQL:选择id为最后一条记录的组的计数
这是我的名为“日志”的表:MySQL:选择id为最后一条记录的组的计数,mysql,Mysql,这是我的名为“日志”的表: id package log ==================== 0 first log0 1 first log1 2 second log2 我希望查询结果如下所示: package count last_log_id =============================== first 2 1 second 1 2 到目前为止
id package log
====================
0 first log0
1 first log1
2 second log2
我希望查询结果如下所示:
package count last_log_id
===============================
first 2 1
second 1 2
到目前为止,我的搜索结果是:
SELECT package, COUNT(*) FROM logs GROUP BY package
这有助于我按包裹计算每组的数量
SELECT a1.package, COUNT(*),a1.id
FROM logs a1 LEFT JOIN logs a2
ON (a1.package = a2.package AND a1.id < a2.id)
WHERE a2.id IS NULL
GROUP BY a1.package
我认为您的第一次尝试是正确的,您可以使用
MAX
功能查找每个包的最新日志id
:
SELECT
package,
COUNT(*) AS count,
MAX(id) AS last_log_id
FROM logs
GROUP BY package;
SELECT
package,
COUNT(*) AS count,
MAX(id) AS last_log_id
FROM logs
GROUP BY package;