日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle 查询结果升序,Oracle学习日志-8(查询结果排序)

發(fā)布時間:2024/9/27 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 查询结果升序,Oracle学习日志-8(查询结果排序) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

要用到的表如下

書上寫到,上面的查詢結(jié)果排序是隨機(jī)的,再執(zhí)行幾次結(jié)果可能不同,但是我執(zhí)行多次后,查詢結(jié)果的排序都是如此,是因為oracle的默認(rèn)處理方式是按照物理儲存順序查詢的,而我在插入記錄的時候都是按照id順序插入的,所以查詢出來的結(jié)果好像是按照id來排序的一樣,實際上并不是。

如果要對查詢結(jié)果排序,可以使用ORDER BY子句。

ORDER BY:

SELECT ...

FROM

ORDER BY ...;

例如按照售價從高到低排序查詢結(jié)果:

SELECT *

FROM Product

ORDER BY sale_price DESC;

如果是從低到高,就把DESC換成ASC。如果ORDER BY子句沒有指定排列順序,默認(rèn)使用升序排序。

如果排序基準(zhǔn)列有相同的值,那么相同的值排序順序又會隨機(jī)。那么可以指定多個排序基準(zhǔn)列,查詢結(jié)果會優(yōu)先按照左邊的標(biāo)準(zhǔn)排序,如果一樣,再考慮右邊的標(biāo)準(zhǔn)。如

SELECT *

FROM Product

ORDER BY sale_price ,product_id;

這樣就會優(yōu)先按照售價的升序排列,如果售價一樣,就按照商品id排序。

如果排序鍵中有NULL值,那么含NULL的記錄會在結(jié)果開頭或者結(jié)尾匯總,oracle是在查詢結(jié)果開頭匯總。

列編號:

列表號是指SELECT子句的列按照從左到右的編號。ORDER BY子句可以通過列編號排序,如

SELECT product_id,product_name, sale_price

FROM Product

ORDER BY 3 DESC;

但是不推薦這樣用,因為閱讀很麻煩。而且該功能以后可能會被刪除。

注意:

ORDER BY可以使用別名,但是GROUP不能使用別名。因為SELECT的語句執(zhí)行順序其實是:

FROM——WHERE——GROUP BY——HAVING——SELECT——ORDER BY

設(shè)置別名是在SELECT這里設(shè)置的,所以在它之前的GROUP BY是不能使用別名的。

總結(jié)

以上是生活随笔為你收集整理的oracle 查询结果升序,Oracle学习日志-8(查询结果排序)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。