这个问题在这里已经有答案了:
检索每个组中的最后一条记录-mysql(29个答案)
两年前关门了。
我们有“交易”表:
id amount txn_id status status_text
1 15 123456 0 pending
2 11 123123 0 pending
3 15 123456 1 complete
4 20 321456 0 pending
5 17 987456 0 pending
6 25 321321 0 pending
7 20 321456 1 complete
8 25 321321 1 complete
我们需要为每个事务id(txn\u id)获取状态最高的行。我们正在使用此查询:
SELECT id, amount, txn_id, status, status_text, MAX(status) as max_status
FROM transactions
GROUP BY txn_id
ORDER BY id DESC
我们期待:
id amount txn_id status status_text max_status
8 25 321321 1 complete 1
7 20 321456 1 complete 1
5 17 987456 0 pending 0
3 15 123456 1 complete 1
2 11 123123 0 pending 0
但除了“状态文本”和“状态”列外,我们的一切都是正确的,这些列似乎是随机的。”“最大状态”正确。
id amount txn_id status status_text max_status
8 25 321321 1 complete 1
7 20 321456 0 pending 1
5 17 987456 0 pending 0
3 15 123456 0 complete 1
2 11 123123 0 pending 0
我没什么主意了。如何获得每个事务id的状态最高的行?
谢谢您!
1条答案
按热度按时间wxclj1h51#
您可以在下面使用子查询进行尝试