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;