如何在mysql中选择一些行,然后选择其他行?

aiazj4mn  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(365)

我有这个问题,它的工作,但我不知道如果这是最好的方法,我没有得到我想要的。
我需要首先选择包含在“in”子句中的查询,然后选择与其他查询的联合。返回的整行必须是40。

SELECT * 
FROM (
    SELECT * FROM tbl_x a WHERE id IN(11,20,30) 
    UNION ALL 
    SELECT * FROM tbl_x b WHERE exam_group='jpx' AND subject='chemistry'
) ab 
GROUP BY id LIMIT 40
6ioyuze2

6ioyuze21#

下一个查询应该以简单的方式返回相同的数据:

SELECT * 
FROM tbl_x 
WHERE 
    id IN (11,20,30)
    OR (exam_group='jpx' AND subject='chemistry')
ORDER BY id IN (11,20,30) DESC, id
LIMIT 40;

相关问题