如果初始行是隨機的並且其餘行是透過 MySQL 中的條件排序的,如何選擇行?
為此,可以使用 ORDER BY CASE 語句。讓我們建立一個表 -
mysql> create table DemoTable1926 ( Position varchar(20), Number int ); Query OK, 0 rows affected (0.00 sec)
使用 insert 命令向表中插入一些記錄 -
mysql> insert into DemoTable1926 values('Highest',50);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1926 values('Highest',30);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1926 values('Lowest',100);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1926 values('Lowest',120);
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1926 values('Lowest',90);
Query OK, 1 row affected (0.00 sec)使用 select 語句顯示錶中的所有記錄 -
mysql> select * from DemoTable1926;
這將產生以下結果 -
+----------+--------+ | Position | Number | +----------+--------+ | Highest | 50 | | Highest | 30 | | Lowest | 100 | | Lowest | 120 | | Lowest | 90 | +----------+--------+ 5 rows in set (0.00 sec)
以下是選擇行的查詢,如果初始行是隨機的,並且其餘行是按條件排序的 -
mysql> select * from DemoTable1926 order by Position desc,case Position when 'Highest' then rand() else Number end asc;
這將產生以下結果 -
+----------+--------+ | Position | Number | +----------+--------+ | Lowest | 90 | | Lowest | 100 | | Lowest | 120 | | Highest | 50 | | Highest | 30 | +----------+--------+ 5 rows in set (0.00 sec)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式語言
C++
C#
MongoDB
MySQL
Javascript
PHP