透過單個 MySQL 查詢按兩個欄位的功能排序
我們先建立一個表
mysql> create table orderByAFunctionDemo -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> FirstNumber int, -> SecodNumber int -> ); Query OK, 0 rows affected (0.44 sec)
使用 insert 命令向表中插入一些記錄。查詢如下 -
mysql> insert into orderByAFunctionDemo(FirstNumber,SecodNumber) values(10,4); Query OK, 1 row affected (0.11 sec) mysql> insert into orderByAFunctionDemo(FirstNumber,SecodNumber) values(45,78); Query OK, 1 row affected (0.17 sec) mysql> insert into orderByAFunctionDemo(FirstNumber,SecodNumber) values(23,10); Query OK, 1 row affected (0.12 sec) mysql> insert into orderByAFunctionDemo(FirstNumber,SecodNumber) values(67,237); Query OK, 1 row affected (0.16 sec) mysql> insert into orderByAFunctionDemo(FirstNumber,SecodNumber) values(12,90); Query OK, 1 row affected (0.13 sec)
使用 select 語句從表中顯示所有記錄。查詢如下 -
mysql> select *from orderByAFunctionDemo;
以下為輸出
+----+-------------+-------------+ | Id | FirstNumber | SecondNumber| +----+-------------+-------------+ | 1 | 10 | 4 | | 2 | 45 | 78 | | 3 | 23 | 10 | | 4 | 67 | 237 | | 5 | 12 | 90 | +----+-------------+-------------+ 5 rows in set (0.00 sec)
以下是按兩個欄位的功能排序的查詢。查詢如下 -
mysql> select (4*FirstNumber+5*SecondNumber) as Calculation -> from orderByAFunctionDemo -> order by Calculation desc;
以下為輸出
+-------------+ | Calculation | +-------------+ | 1453 | | 570 | | 498 | | 142 | | 60 | +-------------+ 5 rows in set (0.00 sec)
廣告