mysql - 如何按自定义字段对 MySQL ResultSet 进行排序?

标签 mysql sql select sql-order-by

以下是架构和数据:

Create table tblTestSorting (col int);
INSERT INTO tblTestSorting VALUES(2), (5), (3), (6), (4), (7), (1)

我有这样的查询:

SELECT col, 5-col AS 'extra' FROM tblTestSorting ORDER BY 'extra';

我想得到按“额外”列排序的结果,但是 此查询没有给我按“额外”列排序的结果。

如何实现这个……??

最佳答案

试试这个:

SELECT col, (5 - col) AS extra
FROM tblTestSorting 
ORDER BY extra;

检查 SQL FIDDLE DEMO

输出

| COL | EXTRA |
|-----|-------|
|   7 |    -2 |
|   6 |    -1 |
|   5 |     0 |
|   4 |     1 |
|   3 |     2 |
|   2 |     3 |
|   1 |     4 |

关于mysql - 如何按自定义字段对 MySQL ResultSet 进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27247469/

相关文章:

java - Selenium 从下拉列表中选择多个选项

mysql - 如果不存在则创建表挂起

php - Laravel - 按类别查询月度数据的高效方式

mysql - 如何使用 SaltStack 在 ubuntu 上安装 mysql

mysql - 有没有人试过将windows上的MySQL数据直接转储到linux上的MySQL?

sql - 定义可延迟约束的优缺点是什么

java.sql.SQLException : [Microsoft][ODBC Microsoft Access Driver] Too few parameters. 预期 2

python - 如何使 ON DELETE CASCADE 在 sqlite 3.7.4 中工作?

php - 从字段不匹配条件的表中选择

mysql - 如何获得下一个最高记录而不是最高记录?