【问题标题】:MySQL random query but with distinct values from 1 columnMySQL 随机查询,但具有来自 1 列的不同值
【发布时间】:2011-09-20 04:07:19
【问题描述】:
我有一个类似的查询
SELECT Id, Category, Title FROM articles WHERE 1 ORDER BY RAND() LIMIT 0,20
我有 20 个类别,我希望每个类别有 1 篇随机文章。如何?
有了这个查询,我总是有一些类别没有被选中。
谢谢
【问题讨论】:
标签:
mysql
random
duplicates
distinct
【解决方案1】:
尝试从表中获取DISTINCT Category,例如
SELECT Id, DISTINCT Category, Title FROM articles WHERE 1 ORDER BY RAND() LIMIT 0,20
【解决方案2】:
尝试按类别分组。尚未对此进行测试,但类似:
SELECT Id, Category, Title FROM articles GROUP BY Category ORDER BY RAND() LIMIT 0,20