mysql - mysql查询中的订单

标签 mysql sql-order-by

我只想问一下我的查询遇到的问题。例如,我从一个查询中得到以下结果,该查询是 4 个查询的联合:​​

alpha,alpha,alpha,bravo,bravo,bravo,charlie,charlie,charlie,delta,delta,delta

我需要做什么才能使结果的顺序为:

alpha, bravo, charlie, delta, alpha, bravo, charlie, delta, alpha, bravo, charlie, delta?

如果这个问题之前可能已经在 stackoverflow 中得到回答,我深表歉意,因为我不知道这个问题的正确关键字来搜索数据库。非常感谢任何帮助,谢谢!

最佳答案

你可以有一个新列,比如排序顺序:

SELECT *
FROM
(
   SELECT acolumn, 1 AS sortorder FROM table1
   UNION ALL
   SELECT acolumn, 2              FROM table2
   UNION ALL
   SELECT acolumn, 3              FROM table3
   UNION ALL
   SELECT acolumn, 4              FROM table4
) u
ORDER BY aColumn, sortorder;

关于mysql - mysql查询中的订单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14022075/

相关文章:

mysql - ORDER BY MySQL 和时间戳

MySql 非平凡选择

Mysql按值排序

mysql - 从一个表中查找另一个表中不存在的记录,或者特定值的总和为 0

MySQL - 以编程方式设置列顺序

sql - SQL 中按日期排序

php - 运行 artisan 命令时无法更改表的一对一关系错误

mysql - InnoDB "autoextend"函数

mysql - 在全文 bool 模式下对多个单词使用减号

mysql - 查询 MySQL 期间失去连接