mysql 一条语句查询出 一个订单列表(A)中 用户订单数大于100的前一百位用户(user_id,order_id) 使用分组
时间: 2023-03-03 16:54:07 浏览: 91
mysql分组取每组前几条记录(排名) 附group by与order by的研究
可以使用以下MySQL语句查询出一个订单列表(A)中用户订单数大于100的前一百位用户(user_id, order_id):
```
SELECT user_id, GROUP_CONCAT(order_id) AS order_list
FROM A
GROUP BY user_id
HAVING COUNT(order_id) > 100
ORDER BY COUNT(order_id) DESC
LIMIT 100;
```
这个查询语句使用了GROUP BY语句,根据user_id分组,并使用COUNT函数统计每个用户的订单数。然后使用HAVING语句过滤掉订单数不足100的用户,使用GROUP_CONCAT函数将每个用户的订单号连接成一个字符串。最后使用ORDER BY和LIMIT语句找出前100个订单数最多的用户。
阅读全文