資料庫裡面的順序本來就不受你控制,除非是使用聚集索引。
正常情況下查詢數據是可以使用order by來將輸出結果排序,至於資料庫內部你控制不了也沒必要關心。
2. sql 怎麼把已排序的結果再排序
在原SQL外面再套一層。
比如原SQL為
select a,b from table order by a;
要根據b重新排序,則改為:
select * from (select a,b from table order by a) order by b;
但這樣多套一層在數據比較多的情況下,會嚴重影響性能,此時可以使用表,
比如將原先排序的資料插入到某一個表中,再從該表查詢資料,再進行排序。
3. sql按某個欄位值順序排序
升序:select * from 表名 order by 表中的欄位 asc(MySQL中默認是升序排列,可不寫) ;
降序:select * from 表名 order by 表中的欄位 desc ;
4. SQL中表中欄位篩選後排序,然後進行排名。 在線等!!!
selectscore.*,row_number()over(orderbyScore_ToScoredesc)score_orderfromscorewhereCourse_id='xxx'
xxx是你要查的課程id
5. SQL先查找再排序的問題
select top 2 * from shang1 order by id asc
意思是先排序,然後列出前2條記錄
要實現樓主想要的功能,只能先列出2條記錄,再排序
1.select top 2 * from shang1 列出前2條
2.select * from (select top 2 * from shang1) order by id asc 將這2條記錄排序
因此答案就是select * from (select top 2 * from shang1) order by id asc
6. 求一條sql語句,按照成績降序排序,並顯示名次,如123
SELECT
id,
read_total,
(
SELECT
COUNT(read_total)
FROM
t_circle_topic
WHERE
ct.read_total <= read_total
) AS rank
FROM
t_circle_topic AS ct
ORDER BY
read_total DESC
(6)sql選中一條記錄再排序擴展閱讀
ORDER BY 語句用於對結果集進行排序。
ORDER BY 語句用於根據指定的列對結果集進行排序。
ORDER BY 語句默認按照升序對記錄進行排序。
如果您希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。
在以上的結果中有兩個相等的公司名稱 (W3School)。只有這一次,在第一列中有相同的值時,第二列是以升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。
7. SQL語句中,選擇結果如何按指定順序排序
可以這樣實現題主所要求的排序
select * from A_TABLE1 where
name in(『張三』,『李四』,『王五』)
order by (case name when '張三' then 1
when '李四' then 2 else 3 end);
8. sql查詢問題,按照要求篩選後再按照重復次數排序
比較一般性的查詢方法, 用row_number() over(partition by ... order by ...)先給記錄按na列的值分組排序(按no降序),然後取出編號值為3~6的記錄即可.
9. 求一個sql查詢語句,一條記錄,要顯示它在眾多記錄中,按時間排序後的排名
selectRowNum
from
(
selectROW_NUMBER()Over(ORDERBY完成時間)asRowNum,*from表名
)t
wheret.姓名='張三'