【发布时间】:2013-05-18 16:38:24
【问题描述】:
我想从同一张表的每个类别中随机选择 5 条记录。
表名:t_shop
列名:shop_id、shop_categoryID
例如: shop_id | shop_categoryID
1 | 1
2 | 1
5 | 1
7 | 1
9 | 1
10| 1
13| 2
15| 2
22| 2
23| 2
25| 2
我曾尝试在子查询中使用限制,但出现错误:此版本的 MySQL 尚不支持 'LIMIT & IN/ALL/ANY/SOME 子查询
请问有什么方法可以解决吗?谢谢。
【问题讨论】:
-
向我们展示您到目前为止所尝试的内容(即您所指的查询)。
-
SELECT * FROM (SELECT * FROM t_shop ORDER BY RAND()) AS T GROUP BY shop_CategoryID ORDER BY shop_CategoryID
-
SELECT * FROM t_shop sod WHERE shop_categoryID IN (SELECT shop_categoryID FROM t_shop WHERE shop_id = sod.shop_id ORDER BY shop_categoryID limit 5)