PostgreSQL IN() 子句中的 ORDER BY 值

2023-12-07

好的,有一些关于如何执行此操作的答案。但所有答案都假设查询选择全部。如果您有不同的选择,这些方法将不再起作用。

请参阅此处了解该方法:在 Postgresql 中模拟 MySQL 的 ORDER BY FIELD()

基本上我有

SELECT DISTINCT id 
FROM items 
WHERE id IN (5,2,9) 
ORDER BY
 CASE id
  WHEN 5 THEN 1 
  WHEN 2 THEN 2
  WHEN 9 THEN 3
 END

当然,这会打破并说

“PGError:错误:对于 SELECT DISTINCT,ORDER BY 表达式必须 出现在选择列表中”

有没有办法按照 IN 子句中的值的顺序对 PostgreSQL 中的查询结果进行排序?


您可以将其包装到派生表中:

SELECT *
FROM (
  SELECT DISTINCT id 
  FROM items 
  WHERE id IN (5,2,9) 
) t
ORDER BY
 CASE id
  WHEN 5 THEN 1 
  WHEN 2 THEN 2
  WHEN 9 THEN 3
 END
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PostgreSQL IN() 子句中的 ORDER BY 值 的相关文章

随机推荐

  • 无法在本地有效地使用 Git

    请参见格雷格的回答 我不明白丹尼尔的声明线程完全地 为什么要手动复制文件 周围有什么吗 当然你应该只是 将它们添加到存储库中 然后查看 并根据需要进行承诺 我没看到 需要移动文件 这似乎违背了整个目的 本地结账 我目前正在使用 rsync
  • 如何在单击按钮时检查 gridview 列中复选框的状态

    我在gridview中使用了复选框列 单击链接按钮时 应检查 gridview 中的复选框是否已选中 如果没有选中任何复选框 则应显示警报 至少选中一个复选框 您必须向页面添加一些自定义 Javascript 以便显示客户端警报 下面是我编
  • jQuery 的“双击”事件(移动设备为 dblclick)

    我有以下 jquery 事件处理函数 target on dblclick function respond to double click event 我的问题是这个事件处理程序不适用于触摸设备 iPhone iPad 谁能推荐一个可靠的
  • bwmorph 的 Python 等效项

    我仍在用 Python 编写指纹图像预处理器 我在 MATLAB 中看到有一个特殊的函数可以消除 H 中断和杂散 bwmorph a hbreak bwmorph a spur 我搜索了 scikit OpenCV 等 但找不到这两种用法的
  • Node.js 服务的压力测试[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我正在使用node js
  • 在 $unwind 之前检查子文档是否不为空

    我有一个Job包含 job title job location salary 等的 schema 应用架构将子文档嵌入到工作文档中 它存储该特定工作已收到的所有申请 这是作业架构的样子 const jobSchema new Schema
  • mysql.connector 不给出 Python 中的最后数据库状态

    I use mysql connectorPython 中的库将查询发送到数据库 但是 当数据库在初始化后发生更改时 mysql connector工具的回答就像数据库从未改变过一样 例如 假设我有一张极简主义的桌子students只有两列
  • 在节点中将 ieee754 转换为十进制

    我在节点中有一个缓冲区
  • 如何使用 dotdotdot 扩展截断的文本 onclick?

    我正在使用jQuery dotdotdot截断插件点点点 frebsite nl 我想截断最多 2 行 当用户点击more 那么它必须显示全文 展开 取消截断 到目前为止 我 仅 设法截断我的文本 但不是 去截断 它 这是我的代码 p cl
  • 使用 FormCollection 时,MVC 3 RTM allowedHtml 不起作用

    MVC 3 RTM 拥有一个具有AllowHtml 属性的模型 在我的控制器操作中 如果该操作将 FormCollection 作为参数 则会引发异常 HttpPost public ActionResult Edit FormCollec
  • 删除旧的 git 提交

    我对 git 很陌生 想知道这样的事情是否可能 gt git log pretty oneline abbrev commit 2f05aba Added new feature 3371cec Fixed screw up lt I wa
  • 类具有不受支持的主要或次要版本号

    在 Eclipse 中 我创建了一个链接到 ejb 和模型的 EAR 项目 我运行 EAR 并收到以下错误 无法部署earkmz 部署失败 部署期间发生错误 部署应用程序时出现异常 earkmz UnsupportedClassVersio
  • WordPress 排队脚本和样式

    我使用开源 WordPress 主题 想要从 header php 文件中删除样式和脚本并正确编写它们 我已将以下代码添加到我的functions php 文件中 但没有任何反应 function smarter scripts wp en
  • 完整加权网络中的社区检测

    我确实有一个完整的网络图 其中每个顶点都相互连接 它们仅在不同权重的形式上有所不同 一个示例网络是 一个贸易网络 其中每个国家都以某种方式相互连接 只是贸易量的形式不同 现在的问题是我如何以这种形式的网络执行社区检测 通常的嫌疑人 算法 只
  • iPhone 设备之间的蓝牙信号强度

    我有两个通过蓝牙连接的 iPhone 设备 是否可以获得这些设备之间的信号强度 如果可以的话 如何 谢谢 凯德 查看通过蓝牙将数据从一台设备传输到另一台设备的 Apple 示例项目 BTLE 苹果示例代码 您可以通过 RSSI 接收信号强度
  • 警告:遇到非数字值

    最近更新到 PHP 7 1 并开始出现以下错误 警告 第 29 行遇到非数字值 这是第 29 行的样子 sub total item quantity product price 在本地主机上一切正常 有什么想法如何解决这个问题或者它是什么
  • Android Google Maps API v2:获取我的方位位置

    我想强制相机的行为就像您正在使用导航一样 这意味着当您向左旋转 90 时 相机会执行相同的操作 我有一个谷歌地图 其中显示了我的位置 作为蓝点 mGoogleMap setMyLocationEnabled true 当我移动时 蓝点带有箭
  • 使用信号进行进程同步是如何工作的?

    我最近完成了 Unix 环境中的高级编程 第 3 版 的第 10 节 信号 我遇到了一段我不完全理解的代码 include apue h static volatile sig atomic t sigflag set nonzero by
  • 用于 url 验证和部分捕获的正则表达式

    是否可以使用单个正则表达式来验证网址并匹配所有部分 我一直在研究一个正则表达式 到目前为止我想到的是 P
  • PostgreSQL IN() 子句中的 ORDER BY 值

    好的 有一些关于如何执行此操作的答案 但所有答案都假设查询选择全部 如果您有不同的选择 这些方法将不再起作用 请参阅此处了解该方法 在 Postgresql 中模拟 MySQL 的 ORDER BY FIELD 基本上我有 SELECT D