SQLite Order By

SQLite 的 ORDER BY 子句是用來基於一個或多個列按升序或降序順序排列數據。

order by 與 limit

num = MAX_LIST - 2;
delete from  where alarmTime < (select alarmTime from tableName order by alarmTime desc limit num,1);
#功能說明:根據時間倒敘排列,然後從倒數第二行開始取,取一條數據,之後刪除最後一條數據
#隱患:當倒數兩條數據時間相同時,則沒有刪除最後一條數據。

#下面語句和上面語句實現功能一樣
delete from  where alarmTime < (select alarmTime from tableName order by alarmTime desc limit 1 offset num);

語法

ORDER BY 子句的基本語法如下:

SELECT column-list 
FROM table_name 
[WHERE condition] 
[ORDER BY column1, column2, .. columnN] [ASC | DESC];

您可以在 ORDER BY 子句中使用多個列。確保您使用的排序列在列清單中。

注:ASC升序排列、DESC降序排列。

實例

假設 COMPANY 表有以下記錄:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
1           Paul        32          California  20000.0
2           Allen       25          Texas       15000.0
3           Teddy       23          Norway      20000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0

下面是一個實例,它會將結果按 SALARY 升序排序:

sqlite> SELECT * FROM COMPANY ORDER BY SALARY ASC;

這將產生以下結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
7           James       24          Houston     10000.0
2           Allen       25          Texas       15000.0
1           Paul        32          California  20000.0
3           Teddy       23          Norway      20000.0
6           Kim         22          South-Hall  45000.0
4           Mark        25          Rich-Mond   65000.0
5           David       27          Texas       85000.0

下面是一個實例,它會將結果按 NAME 和 SALARY 升序排序:

sqlite> SELECT * FROM COMPANY ORDER BY NAME, SALARY ASC;

這將產生以下結果:

ID          NAME        AGE         ADDRESS     SALARY
----------  ----------  ----------  ----------  ----------
3           Teddy       23          Norway      20000.0
1           Paul        32          California  20000.0
4           Mark        25          Rich-Mond   65000.0
6           Kim         22          South-Hall  45000.0
7           James       24          Houston     10000.0
5           David       27          Texas       85000.0
2           Allen       25          Texas       15000.0

參考資料

https://www.runoob.com/sqlite/sqlite-order-by.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章