小编典典

将两个sql select查询(在postgres中)与LIMIT语句结合使用

sql

我有一个表,我想要一个查询,该查询返回创建的最后10条记录以及ID为x的记录。

我正在尝试-

SELECT * FROM catalog_productimage
ORDER BY date_modified
LIMIT 10
UNION
SELECT * FROM catalog_productimage
WHERE id=5;

但是看来我不能放在LIMIT那儿了UNION。我尝试添加另一列并将其用于排序-

SELECT id, date_modified, IF(false, 1, 0) as priority FROM catalog_productimage
UNION
SELECT, id, date_modified, IF(true, 1, 0) as priority FROM catalog_productimage
WHERE id=5
ORDER BY priority, date_modified
LIMIT 10;

但我没有太大进步。


阅读 191

收藏
2021-03-17

共1个答案

小编典典

刚刚检查,这将工作:

(SELECT * FROM catalog_productimage
ORDER BY date_modified
LIMIT 10)
UNION
SELECT * FROM catalog_productimage
WHERE id=5;
2021-03-17