資料庫數據排序
select * from 表名 order by 要排列的欄位 desc。
2. 如何對mySQL資料庫中某些特定欄位進行排序
1、以日期進行排序
select
Rownum
"ID"
,
日期
,
金額,
商品
From
(select
日期,金額,商品
from
表
order
by
日期)
2、在排序後要求資料庫中內容發生變化,如果不是考試的話是沒人故意這么玩的。
任何對於數據的ID欄位進行手工變動都是愚蠢而白痴的行為。
讓然如果是老師故意考你們的話,可以用下面這個簡單方法。
①建立臨時表,使id欄位為自增欄位
create
table
tableName
(
id
INT(20)
not
null
AUTO_INCREMENT,
--自增屬性
日期
char(20)
not
null,
金額
char(5)
not
null,
商品
char(2)
not
null
);
②將排好的數據插入新建的臨時表
Insert
into
tableName(日期,金額,商品)
select
日期,金額,商品
from
原始表
order
by
日期
③將原表改成其他名,並將第二步建的中間表改名為原表名
alter
table
表1
rename
to
表2
我手頭沒有mysql只能按印象寫出代碼,你拿去試一下吧。
我印象中mysql對pl的支持不好,所以只給出了用sql語句的方案,你參考下吧。
3. 對於excel資料庫 排序是按照什麼進行的
excel默認按數據的首字ASCII大小進行排序。
4. 關於mysql資料庫排序的問題
在執行查詢結果時,默認情況下查詢結果無序排列。但我們有時需要對數據按一定規則進行排序。這時可以通過order
by子句來實現這個功能。語法如下:
select
<*,column
[alias],...>
from
table
[where
condition(s)]
[order
by
column[asc|desc]];
默認是asc指定的升序排列,desc用來指定降序排列。
1、升序排序:
使用order
by子句時,默認情況下數據是按升序排列的,故可以用asc關鍵字指點升序排列,或者不指定,默認就是升序,顯示效果是一樣的,如下圖:
2、降序排序:
當需要查詢結果降序排列時,必須在排序後指定desc關鍵字。如下圖是查看職員薪水的降序排列:
5. 資料庫中排序的對比及使用條件詳解
假定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中執行排序的相關知識就介紹到這里了,希望本次的介紹能夠對您有所收獲!
6. 資料庫中的數據順序怎麼能根據自己的意圖隨意排序
數據的存儲順序和查出來後顯示的順序不同,看問題提出者的意思,是想改變數據的存儲順序。
可以充分利用主鍵,預設的主鍵有聚簇索引特性,而聚簇索引的條目存放順序與數據本身的存放順序一致,充分利用這一點,改變主鍵或主鍵欄位的取值,即可完成數據存儲順序的自編排。
例子中的id像是個常用的主鍵欄位名,那麼,修改某條記錄的id值,無論是通過insert還是update,均已能夠完成對應數據條目存儲位置的變化。
如果想對根據任意欄位實現存儲順序的自編排,恐怕是不行的,除非可以撤銷表的原有主鍵,而將該欄位設置為主鍵,但設為主鍵,就要求該欄位的不可重復、不許為空等約束,而不是任意。
7. 在資料庫中如何用select-sql給相應的數據排序從高到低
1、打開一個Access資料庫軟體,可以打開已創建好的資料庫,使用表設計工具,創建一個表,如下圖所示。
8. 資料庫排序語句
資料庫的排序用order by語句實現。
工具:sqlserver 2008R2
步驟:
1、有如下學生表:
9. 資料庫默認的排序規則是怎樣的 還有 如果按照我想要的方式做排序要怎麼寫
你要求的排列沒有什麼規律呀。
一般都是用
order
by
欄位名
DESC
倒敘排列
或者order
by
欄位名
asc
正序排列
ORACEL的默認排序是
1、用了Oracle的堆表(如果你建表時候沒有指定表類型,默認就是堆表)
2、按照且僅按照一個有大量重復數據的欄位排序
而且oracle11G已經取消了這種默認的排序機制,目的就是為了能在最短的時間返回出結果給操作者。
10. 資料庫中升序降序的關鍵字分別是什麼
SQL ORDER BY 關鍵字
ORDER BY 關鍵字用於對結果集按照一個列或者多個列進行排序。
ORDER BY 關鍵字默認按照升序對記錄進行排序。如果需要按照降序對記錄進行排序,您可以使用 DESC 關鍵字。
SQL ORDER BY 語法