我有一个包含三个类别问题的表格。
我使用以下内容得到一个随机问题:
SELECT * FROM tblQuestions ORDER BY RAND() LIMIT 1
但是该表还有一个名为qCategory的字段,其中总共有3个类别。我想要的是SQL查询从3个类别中的每个类别中获取一个问题(总共3个随机问题)。
答案 0 :(得分:6)
您可以使用UNION ALL
:
(SELECT * FROM tblQuestions WHERE qCategory='A' ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT * FROM tblQuestions WHERE qCategory='B' ORDER BY RAND() LIMIT 1)
UNION ALL
(SELECT * FROM tblQuestions WHERE qCategory='C' ORDER BY RAND() LIMIT 1)
答案 1 :(得分:2)
一种方法是使用GROUP BY
:
SELECT * FROM tblQuestions ORDER BY RAND() GROUP BY qCategory