資料庫結果排序
❶ 資料庫排序語句
資料庫的排序用order by語句實現。
工具:sqlserver 2008R2
步驟:
1、有如下學生表:
❷ 資料庫排序問題(寫出SQL語句)
將欄位依次寫在order
by
後面即可
,
中間用逗號隔開。
view plain to clipboardprint?
select * from 表 order by time , name
select * from 表 order by time asc , name asc
select * from 表 order by time desc , name desc
select * from 表 order by time asc , name desc
select * from 表 order by time desc , name asc(注:
asc
表示升序
,
desc表示降序
,
未明確寫明排序方式時默認是升序)
與之類似的語法是
group
by
,
按多個欄位分組時
,
也是依次將多個欄位寫在group
by
的後面
,
並用逗號隔開
,
範例如下:
view plain to clipboardprint?
select time , name , sum(*) from 表 group by time , name
❸ 資料庫中升序降序的關鍵字分別是什麼
SQL ORDER BY 關鍵字
ORDER BY 關鍵字用於對結果集按照一個列或者多個列進行排序。
ORDER BY 關鍵字默認按照升序對記錄進行排序。如果需要按照降序對記錄進行排序,您可以使用 DESC 關鍵字。
SQL ORDER BY 語法
❹ 資料庫多表查詢結果如何排序
先Union,再Order by.
select *
from t1
where 名字='王艷'
union all
select *
from t2
where 名字='王艷'
.
.
.
order by 時間❺ 對於excel資料庫 排序是按照什麼進行的
excel默認按數據的首字ASCII大小進行排序。
❻ 怎樣查詢兩個資料庫,然後把合並的結果進行排序
沒有合並,但是有個方法可以模擬合並,實現你的功能,就是創建一個視圖(View)
比如:有兩個表
A,B
他們第一個欄位分別是
Snumb和
Cnumb(編號),然後現在把兩邊合起來,放在一個視圖下面,進行排序(兩個表,分別有,編號欄位,姓名欄位,成績欄位(模擬))
create
view
view1
as
select
*
from
A,B
where
Snumb=Cnumb
執行上面
然後繼續查詢視圖,並按成績排序
select
*
from
view1
order
by
score(成績)
desc就可以了
不知道是不是樓主需要的,希望幫到你❼ ACCESS資料庫分類查詢後結果為什麼是排序的
一種情況是該分類查詢使用了 order by 排序子句強制實施了排序;
另一種情況是該分類查詢並沒用強制排序,但是實際輸出結果看起來還是排序了。導致這種現象出現的原因是比較復雜的,它是由源表的數據結構(如欄位類型、索引等)、SQL語句的寫法和資料庫引擎執行SQL語句的內部演算法綜合作用導致的。
下面舉個簡單的情況說明一下,例如:
select 商品分類,count(*) as 分類數量 from 商品表 group by 商品分類;
這條語句即使不強制排序,實際輸出結果也會按商品分類排序輸出,因為資料庫引擎在後台計算每個分類的數量實際是首先要將各條商品記錄按商品分類排序後再來按順序數人頭的(每個分類的數量),這樣計算結果出來後附帶的排序效果也自然有了,如果資料庫引擎再將它打亂輸出反而需要在此基礎上額外增加系統開銷。
需要指出的是SQL選擇查詢執行後自然形成的排序效果在很多情況下是很難預料的(除非您是基礎資料庫開發工程師),因此我們應該根據實際需求決定是否人為對輸出結果強制排序。❽ 資料庫中排序的對比及使用條件詳解
假定MySQL伺服器和PHP伺服器都已經按照最適合的方式來配置,那麼系統的可伸縮性(Scalability)和用戶感知性能(User-perceived
Performance)是我們追求的主要目標。在實際運行中,MYSQL
中數據往往以
HASH
tables、BTREE
等方式存貯於內存,操作速度很快;同時INDEX
已經進行了一些預排序;很多應用中,MySQL
排序是首選。
PHP與MySQL相比具有如下優勢:
1、考慮整個網站的可伸縮性和整體性能,在應用層(PHP)中排序明顯會降低資料庫的負載,從而提升整個網站的擴展能力。而資料庫的排序,實際上成本是非常高的,消耗內存、CPU,如果並發的排序很多,DB
很容易到瓶頸。
2、如果在應用層(PHP)和MYSQL之間還存在數據中間層,合理利用,PHP會有更好的收益。
3、PHP在內存中的數據結構專門針對具體應用來設計,比資料庫更為簡潔、高效;
4、PHP不用考慮數據災難恢復問題,可以減少這部分的操作損耗;
5、PHP不存在表的鎖定問題;
6、MySQL中排序,請求和結果返回還需要通過網路連接來進行,而PHP中排序之後就可以直接返回了,減少了網路IO。
至於執行速度,差異應該不會很大,除非應用設計有問題,造成大量不必要的網路IO。另外,應用層要注意PHP
的
Cache
設置,如果超出會報告內部錯誤;此時要根據應用做好評估,或者調整Cache。具體選擇,將取決於具體的應用。
列出一些PHP中執行排序更優的情況:
1、數據源不在MySQL
中,存在硬碟、內存或者來自網路的請求等;
2、數據存在
MySQL
中,量不大,而且沒有相應的索引,此時把數據取出來用PHP排序更快;
3、數據源來自於多個MySQL
伺服器,此時從多個
MySQL
中取出數據,然後在PHP中排序更快;
4、除了MySQL
之外,存在其他數據源,比如硬碟、內存或者來自網路的請求等,此時不適合把這些數據存入MySQL
後再排序;
列出一些必須在MySQL中排序的實例:
1、MySQL中已經存在這個排序的索引;
2、MySQL中數據量較大,而結果集需要其中很小的一個子集;比如
1000000
行數據,取TOP
10;
3、對於一次排序、多次調用的情況,比如統計聚合的情形,可以提供給不同的服務使用,那麼在MySQL
中排序是首選的。另外,對於數據深度挖掘,通常做法是在應用層做完排序等復雜操作,把結果存入MySQL即可,便於多次使用。
4、不論數據源來自哪裡,當數據量大到一定的規模後,由於佔用內存/Cache
的關系,不再適合PHP中排序了;此時把數據復制、導入或者存在MySQL
,並用INDEX
優化,是優於PHP
的。不過,用
Java,甚至
C++
來處理這類操作會更好。
有些類似大數據集聚合或者匯總的數據,在客戶端排序得不償失。當然,也有用類似搜索引擎的思路來解決類似應用的情況。
從網站整體考慮,就必須加入人力和成本的考慮。假如網站規模和負載較小,而人力有限(人數和能力都可能有限),此時在應用層(PHP)做排序要做不少開發和調試工作,耗費時間,得不償失;不如在DB
中處理,簡單快速。對於大規模的網站,電力、伺服器的費用很高,在系統架構上精打細算,可以節約大量的費用,是公司持續發展之必要;此時如果能在應用層(PHP)
進行排序並滿足業務需求,盡量在應用層進行。
關於PHP中執行排序與MySQL中執行排序的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!