MySQL Query:得到3个结果,其中id等于this,然后是另外3个,其中id等于此

时间:2012-02-08 14:19:18

标签: mysql

我有以下内容:

表:主题
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相关联。

我该怎么做?我很难过。

1 个答案:

答案 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)