我有一个表,我想要一个查询,返回最近创建的10条记录,以及id为x的记录.

我正在努力-

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

但看起来我不能在UNION之前把LIMIT放进go .我try 添加另一列并使用它进行排序-

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;

但我没什么进展..

推荐答案

刚刚判断过这是否有效:

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

Postgresql相关问答推荐

使用RANGE窗口框架条款将SUM分析函数从PostgreSQL移至Redwitch

在Postgre中的链接服务器上执行远程查询

EF Core和npgsql连接池已被耗尽

无法从外部连接到在 AWS EC2 实例上运行的 Postgres

PostgreSQL错误致命:角色 username不存在

postgresql查询中的正则表达式不区分大小写

Select 日期最高的行

获取带有时区偏移的日期

在 Postgresql 中获取星期几

PostgreSQL 可以对数组元素有唯一性约束吗?

timezone date_trunc 函数

为 Django Postgres 连接强制 SSL

在 MAC OS X 10.6 for PostgreSQL 上设置 SHMMAX 等值

从长时间的postgres转换日期

Postgresql - 更新规则 - 可能有一个最后修改日期,自动更新该行的on update?

Rails PG::UndefinedTable:错误:missing FROM-clause entry for table

可以为空的列在 PostgreSQL 中是否会占用额外的空间?

如何在 redshift 中对字段进行 GROUP BY 和 CONCATENATE

Entity Framework Core jsonb 列类型

在 Postgres 9.0+ 中使用 PL/pgSQL 在表上循环