【发布时间】:2022-01-01 13:48:52
【问题描述】:
我有一个这样的查询:
select count(1) num, business_id, category_id
from mytable
group by business_id, category_id
order by num desc
结果如下:
// res
+-----+-------------+-------------+
| num | business_id | category_id |
+-----+-------------+-------------+
| 22 | 5543 | 8 |
| 19 | 4352 | 8 |
| 13 | 3242 | 11 |
| 10 | 2132 | 11 |
| 7 | 6832 | 8 |
+-----+-------------+-------------+
现在我想获取每个category_id 的第一行。所以它一定是最大的num和它的business_id。所以预期的结果是:
// expected res
+-----+-------------+-------------+
| num | business_id | category_id |
+-----+-------------+-------------+
| 22 | 5543 | 8 |
| 13 | 3242 | 11 |
+-----+-------------+-------------+
我该怎么做?
【问题讨论】:
标签: mysql sql group-by sql-order-by window-functions