【发布时间】:2021-10-14 10:33:13
【问题描述】:
我有这样的 chat_notif 表:
| id | order_id | chat_id | sent_to |
|---|---|---|---|
| 1 | order-001 | 1 | 2 |
| 2 | order-002 | 2 | 1 |
| 3 | order-001 | 3 | 2 |
| 4 | order-001 | 4 | 2 |
| 5 | order-002 | 5 | 1 |
| 6 | order-003 | 6 | 2 |
| 7 | order-003 | 7 | 2 |
| 8 | order-003 | 8 | 2 |
| 9 | order-001 | 9 | 2 |
| 10 | order-002 | 10 | 1 |
我需要的是获取计数,但按 order_id 分组,其中 sent_to 为 2:
SELECT *, count(id) as count FROM chat_notif WHERE sent_to=2 GROUP BY order_id
| id | order_id | chat_id | sent_to | count |
|---|---|---|---|---|
| 1 | order-001 | 1 | 2 | 4 |
| 6 | order-003 | 6 | 2 | 3 |
从上表来看,计数是正确的。但我需要的是获取每个组的最后一个 id,所以它应该是这样的:
| id | order_id | chat_id | sent_to | count |
|---|---|---|---|---|
| 9 | order-001 | 9 | 2 | 4 |
| 8 | order-003 | 8 | 2 | 3 |
那我该怎么做呢?
【问题讨论】:
标签: mysql