如何在 MySQL 中根据条件时间戳对行进行排序?

Linda Hamilton
发布: 2024-11-13 04:46:01
原创
369 人浏览过

How to Sort Rows Based on a Conditional Timestamp in MySQL?

MySQL ORDER BY CASE 排序问题

在 MySQL 中,ORDER BY 子句允许您根据指定列对查询结果进行排序。但是,在对取决于特定条件的多个列进行排序时,您可能会遇到困难。

考虑以下场景:

您有一个包含两列的表:timestamp_one 和 timestamp_two。您需要检索 id_one 或 id_two 等于 27 的所有行。此外,您希望根据 id_one 或 id_two 是否为 27,根据 timestamp_one 或 timestamp_two 对结果进行排序。

虽然以下查询正确检索所需的行:

它按每列单独对行进行排序,而不是将它们组合成一个用于排序的单个时间戳。

要解决此问题,您可以使用以下修改后的查询:

在此修改后的查询中,我们通过使用单个 CASE 表达式来简化 ORDER BY 子句来确定排序顺序。这允许我们根据组合时间戳对行进行排序,该组合时间戳根据 id_one 和 id_two 的值动态选择适当的列(timestamp_one 或 timestamp_two)。

以上是如何在 MySQL 中根据条件时间戳对行进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板