如何获取包含每个分组集的最大值的行? 我有这个mysql
SELECT ticketId, version, storeId, `status` FROM ticket where storeId = 1 AND status = 0;
并获得结果。
我想在不同的ticketId中找到最大版本,行将是
ticket | version | storeId | status
---
1 | 5 | 1 | 0
2 | 5 | 1 | 0
mysql将如何?
答案 0 :(得分:1)
使用聚合函数max
:
select ticketId,
max(version),
storeId,
`status`
from ticket t
where storeId = 1
and status = 0
group by ticketId,
storeId,
`status`
如果ONLY_FULL_GROUP_BY
被禁用,您可以使用:
select ticketId,
max(version),
storeId,
`status`
from ticket t
where storeId = 1
and status = 0
group by ticketId;
答案 1 :(得分:1)
只需使用group by
和max
:
SELECT ticketId as ticket, MAX(version) AS version, storeId, `status`
FROM ticket
WHERE storeId = 1
AND status = 0
GROUP BY ticketId