MySQL 中的条件排序?

2023-12-05

我有包含 3 个字段的“任务”表:

  1. date
  2. 优先级(0,1,2)
  3. 完成 (0,1)

我想要实现的是整个表按完成标志排序,未完成的任务应按优先级排序,而已完成的任务应按日期排序:

  1. 从任务顺序中选择 * 按完成 asc
  2. 如果done=0则另外按优先级desc排序
  3. 如果完成=1 另外按日期 desc 排序

是否可以在没有联合的情况下在 MySQL 中执行此操作?

Thanks.


你可以尝试ORDER BY (done asc, aux desc)其中 aux 是用 a 计算的CASE根据以下值产生优先级或日期done(您可能必须将它们转换为相同的类型以适应相同的表达式,例如将日期转换为合适的整数天数)。

例如:

SELECT * FROM tab
ORDER BY done desc,
         case done
             when 0 then prio 
             else to_days(thedate)
         end desc;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL 中的条件排序? 的相关文章

  • 从 SQL Server 中的子查询值或其他聚合函数获取平均值

    我有 SQL 语句 SQL Server SELECT COUNT ActionName AS pageCount FROM tbl 22 Benchmark WHERE DATEPART dw CreationDate gt 1 AND
  • max()、分组依据和排序依据

    我有以下 SQL 语句 SELECT t client id max t points AS max FROM sessions GROUP BY t client id 它只是列出了客户 ID 以及他们所获得的最大积分 现在我想按 max
  • 随机排列每行的列值

    我正在使用 C NET 开发多项选择题考试生成器 每次做出报告时 都会在数据库中随机挑选问题 并随机调整选项 我可以做随机问题部分 但我不能做选择的洗牌 我有一张表 其中一行如下 question answer distractor1 di
  • MyBatis 枚举的使用

    我知道以前有人问过这个问题 但我无法根据迄今为止找到的信息实施解决方案 所以也许有人可以向我解释一下 我有一个表 状态 它有两列 id 和 name id是PK 我不想使用 POJO Status 而是使用枚举 我创建了这样一个枚举 如下所
  • Wordnet sqlite 同义词和示例

    我正在尝试获取给定 wordid 的同义词和示例列表 经过大量的试验和错误 我可以获得所有同义词集的样本 但不是实际的同义词 这是我的查询 它给出了以下结果 select senses wordid senses synsetid sens
  • 如何从连接字符串中提取数据库名称,而不考虑 RDBMS?

    我正在研究一个不知道正在使用的 RDBMS 的课程 当然 应用程序的其余部分都清楚这一点 连接字符串是此类的输入 我需要数据库名称 无论 RDBMS 如何 如何从连接字符串中提取数据库名称 我读到以下问题 如何使用 SqlConnectio
  • Symfony/Doctrine 重新排列数据库列

    当我使用doctrine schema update命令行生成表时 Doctrine 或Symfony 似乎想要添加一个命令来重新排列我的列 将键放在它出现的前面 我想知道是否 更希望在哪里 我可以禁用环境的这个 功能 所以当我去生成我的表
  • xQuery LIKE 运算符?

    有没有办法以与 SQL 相同的方式使用 XQuery 执行 LIKE 操作 我不想构造一些 startswith endswith 和 contains 表达式 我想要实现的目标的示例 for x in user where x first
  • Python 子进程、mysqldump 和管道

    我在尝试构建简单的备份 升级数据库脚本时遇到问题 错误出现在使用子进程的 mysqldump 调用中 cmdL mysqldump user db user password db pass domaindb gzip gt databas
  • 如何显示 RSpec 测试生成的 SQL 查询日志?

    我正在为我的 Rails 3 应用程序编写规范 我想测试数据库事务是否真的有效 如果能够看到我的应用程序在规范驱动下生成的 sql 查询 这将非常有帮助 有没有办法像在 Rails 控制台中一样查看查询 我正在使用 Rails 3 0 9
  • 使用显式值进行 BigQuery 合并

    据我所知 BigQuery 支持合并两个表 目前 INSERT操作允许将显式值插入表中 例如 INSERT dataset Inventory product quantity VALUES top load washer 10 front
  • 如何在 MySQL 中启用严格 sql_mode?

    我怎样才能启用严格sql mode在 MySQL 中 我想从 SQL 中获取数据并在中处理相同的数据strict mode 我现在的sql mode is mysql gt SELECT sql mode sql mode NO ENGIN
  • 关于 Cassandra 与 MySQL 的一些建议

    几天前我在这里问了一个问题 得到了一些非常好的答案 我正在考虑做一个带有个人资料 个人简介等的facebook风格的网站 并询问我是否应该使用mysql 答案是使用Cassandra 因为好多了 我只是问这是每个人都会建议的 只是我对mys
  • Solr 增量导入不起作用

    我使用的是solr 4 2 请注意 完全导入有效 但增量导入却无效 增量导入不会给出任何错误 但不会获取任何更改 这是数据配置文件
  • MySQL如何从多个表中获取数据

    我正在寻找 php MySQL jquery 的帮助 我有2张桌子 table1表 1 有 4 列 id 标题 desc thumb img tabel2表 2 有 3 列 id 表 id img 我只想将 2 个表与 get QS 的值进
  • 当php脚本通过ajax运行时显示进度条

    我有一个通过 ajax 向服务器提交值的表单
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • Yii2:无法将列值更新+1

    创建新记录时 我需要将列值更新 1 public function actionCreate model new CreateBookings if model gt load Yii app gt request gt post Yii
  • 在 Django shell 会话期间获取 SQL 查询计数

    有没有办法打印 Django ORM 在 Django shell 会话期间执行的原始 SQL 查询的数量 Django 调试工具栏已经提供了此类信息 例如 5 QUERIES in 5 83MS但如何从 shell 中获取它并不明显 您可
  • SQLite 中的累积求和值

    我正在尝试在 SQLite 中执行值的累积和 我最初只需要对一列求和并获得代码 SELECT t MyColumn SELECT Sum r KeyColumn1 FROM MyTable as r WHERE r Date lt t Da

随机推荐

  • 如何使用 Perl 查找和替换 XML 中的文本?

    我的 XML 文件看起来像这样
  • 如何将 DWORD RGBA 转换为整数?

    我必须将 DWORD 无符号长整型 RGBA 转换为四个 int 变量 R G B 和 A 到目前为止 我有这个函数将 4 个整数转换为 DWORD unsigned long RGBA2DWORD int iR int iG int iB
  • 启动时停止背景音频

    我可以通过在 info plist 文件中添加设置来使应用程序在移动到后台时播放音频 但是 当其他一些iOS应用程序播放背景音频时 当当前应用程序进入前台时 如何停止其他应用程序调用的背景音频呢 查看 Apple 的 AVAudioSess
  • MongoCommandException:命令失败,错误 8000 (AtlasError):“未发送 SNI 名称,请确保使用 MongoDB 3.4+ 驱动程序/shell。”

    我正在使用 Java 11 Maven 项目 作为 mongodb 免费层集群 版本 4 0 13 我正在尝试通过连接字符串 对于 3 6 驱动程序或更高版本 进行连接 例如 mongodb srv user email protected
  • 覆盖 Swift 中存储的属性

    我注意到编译器不允许我用另一个存储值覆盖存储的属性 这看起来很奇怪 class Jedi var lightSaberColor Blue class Sith Jedi override var lightSaberColor Red C
  • 汇编 Linux 系统调用与汇编 OS X 系统调用

    我在 Mac 上运行汇编代码时遇到问题 我目前正在阅读 Jeff Duntemann 的书 Assembly Step by Step 问题是它专注于为 32 位 Linux 系统编写汇编 我使用的是 64 位 mac os x 系统 我仍
  • 有条件参考

    我正在编写一个应用程序 它通过Component Object Model图书馆 我必须在 Visual Studio 项目本身中引用此 COM 库 以便我编写的应用程序能够正常工作 还有一个 NET 包装器库 我必须在 Visual St
  • ios13 深色模式更改无法被 tableview Cell 识别?

    我正在检查我现有的应用程序是否可以与 ios 13 新引入的黑暗模式功能正常工作 一切似乎都工作正常 只有我的一个表视图中的单元格背景没有根据模式 暗 亮 刷新 如果应用程序以深色模式启动 单元格也会显示正确的深色背景 如果应用程序处于后台
  • 我可以使用 unix utils 以编程方式将 ANSI 控制代码“烧入”文件吗?

    示例 我开始录音script 并尝试输入echo test但省略了 o 所以我退格来纠正它 When I cat typescript一切看起来都很正常 因为代码被解释了 但如果我使用less or vim I see ech test H
  • 使用 Java 的 Path2D 创建钢笔工具时出现的问题

    我一直在尝试使用 Path2D 类与鼠标侦听器一起为我的 Java 绘图程序创建一个钢笔工具 但结果令人困惑 该工具将工作几秒钟 但随后整个应用程序将冻结并必须关闭 这里没有发生异常 程序只是冻结 这是演示该问题的 SSCCE import
  • 如何使用 Jquery 阻止浏览器调用基本身份验证弹出窗口并处理 401 错误?

    我需要使用基本身份验证发送授权请求 我已经使用 jquery 成功实现了这一点 但是 当我收到 401 错误时 基本身份验证浏览器弹出窗口将打开 并且不会调用 jquery ajax 错误回调 我最近也面临这个问题 由于您无法更改浏览器在出
  • 将准备好的语句占位符括在单引号中

    在中创建准备好的语句时mysqli 我应该将字符串值占位符括在单引号中吗 IE 我应该写 INSERT INTO Person Name VALUES or INSERT INTO Person Name VALUES INSERT INT
  • Webdrivers::网络错误 - Mac64 M1 - ChromeDriver

    我的 Capybara Selenium Webdriver 设置在尝试连接 ChromeDriver 时失败 看来他们发布了一个没有 M1 版本的版本 可以在 Chromedriver API 中找到https chromedriver
  • IF 语句始终为真

    我有一个 radwindow 用来向应用程序中的用户显示错误消息 我的目标如下 如果该消息不是警告 错误 我希望用户在弹出的 radwindow 上单击 确定 时重定向 为了实现此目的 当操作成功时 我将 HiddenField 值设置为
  • 使用 mongoose populate 过滤数据

    我有两个数据结构 数据库 和 组件 const DatabaseSchema mongoose Schema components type Schema Types ObjectId ref Components required fal
  • 从非对称数据框中获取方阵

    我是 R 的初学者 我有一系列有关已婚人士姓氏的数据 Id mar Wife Husband 1 1 Smith Johnson 2 2 Smith Carter 3 3 White Carter 4 4 Wang Smith 5 5 Wh
  • java 带有流布局的滚动窗格

    由于某种原因 我无法正常工作 确实应该很简单 我有一个带有BorderLayout 其中包含一个JPanel 南 和 中心 JPanel itemPanel itemPanel 应该包裹在滚动窗格中 它的宽度 x 并且它的所有子项都共享它的
  • 组件渲染后如何从指令调用函数?

    组件渲染后如何从指令调用函数 我有组件 export class Component ngAfterContentInit How can i call functionFromDirective 我想调用这个函数 export class
  • 使用PHP更改服务器的IP地址

    我需要能够使用 PHP 更改服务器的 IP 地址 我正在尝试使用ifconfig eth0 down as the www data用户以确保其能够正常工作 到目前为止 我已经解决了 var run network ifstate 文件上的
  • MySQL 中的条件排序?

    我有包含 3 个字段的 任务 表 date 优先级 0 1 2 完成 0 1 我想要实现的是整个表按完成标志排序 未完成的任务应按优先级排序 而已完成的任务应按日期排序 从任务顺序中选择 按完成 asc 如果done 0则另外按优先级des