我有以下内容:
表:主题
COLS:topicId,categoryId(链接到类别中的categoryId)
表:类别
COLS:categoryId
为了便于讨论,让我们假设主题表有100行,其中topicIds为100到200,每行与不同的categoryIds 1 - 10相关联。假设每个categoryId在那里随机10次;不合适。 然后类别有10行,categoryIds:1到10
我想写一个类似的查询(我知道这不对):
SELECT topicId FROM topics WHERE categoryId = 1 OR categoryId = 2 OR categoryID = 3 LIMIT 3 topicIds per categoryId
结果应该是我从数据库中提取了9行。其中3行与categoryId 1,3相关联,catId 2,3与catId 4相关联。
我该怎么做?我很难过。
答案 0 :(得分:3)
(SELECT topicId
FROM topics
WHERE categoryId = 1
LIMIT 3)
UNION ALL
(SELECT topicId
FROM topics
WHERE categoryId = 2
LIMIT 3)
UNION ALL
(SELECT topicId
FROM topics
WHERE categoryId = 3
LIMIT 3)