這篇文章將為大家詳細講解有關(guān)MySQL排序的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)建站專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、樺南網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5網(wǎng)站設(shè)計、商城開發(fā)、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為樺南等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
使用SELECT抽取數(shù)據(jù)時,數(shù)據(jù)的顯示是無序的,想要得到有序的數(shù)據(jù),那么我們就需要使用ORDER BY子句進行排序。
ORDED BY 子句語法:
SELECT <列1>,<列2>,<列3>,......
FROM <表名>
ORDER BY <排序基準1>,<排序基準2>,.....
ORDED BY 子句(商品的銷售單價升序排列)
其中desc表示降序,asc表示升序排列。
示例:
這里先創(chuàng)建一張普通的表
CREATE TABLE `test1` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `date_time` datetime NOT NULL, `status` int(5) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8
再添加一些測試數(shù)據(jù)
INSERT INTO `test1` VALUES (NULL, '測試1', '2018-03-05 11:09:00', 1),(NULL, '測試2', '2018-03-06 11:09:00', 1),(NULL, 'abc', '2018-03-07 11:09:00', 1), (NULL, 'def', '2018-04-08 11:09:00', 2),(NULL, '李某某', '2018-04-17 11:09:00', 1),(NULL, '飯某某', '2018-04-20 13:09:00', 2), (NULL, '趙', '2018-04-20 01:09:00', 4),(NULL, '倩', '2018-04-28 11:09:00', 2),(NULL, 'andy', '2018-04-30 11:09:00', 1), (NULL, 'tony', '2018-05-08 11:09:00', 4),(NULL, 'tom', '2018-05-07 11:09:00', 3),(NULL, 'bill', '2018-05-18 11:09:00', 3), (NULL, 'james', '2018-06-07 11:09:00', 4),(NULL, 'anthony', '2018-06-18 11:09:00', 2),(NULL, '蓋茨', '2018-04-21 11:09:00', 1), (NULL, '部長', '2018-04-24 11:09:00', 4),(NULL, '李總', '2018-04-20 11:09:00', 5),(NULL, '張總', '2018-04-29 11:09:00', 2), (NULL, '王總', '2018-04-19 11:09:00', 3),(NULL, '唐總', '2018-05-01 11:09:00', 2);
有了數(shù)據(jù),開始針對這些數(shù)據(jù),做一些排序:
1、單列排序
SELECT * FROM test1 ORDER BY date_time
默認升序,降序后面接"DESC"即可。
2、多列排序
SELECT * FROM test1 ORDER BY `status`, date_time DESC
首先按`status`字段排序,若`status`相等,則按data_time排序。
3、自定義排序
SELECT * FROM test1 ORDER BY FIELD(`status`, 3, 2, 4, 1, 5), date_time DESC
使用"FIELD()"函數(shù),可指定順序。
4、其他條件排序
先按大于等于當前時間升序,再按小于當前時間降序,支持分頁。
SELECT * FROM test1 ORDER BY date_time < NOW(), IF(date_time < NOW(), 0, date_time), date_time DESC
關(guān)于mysql排序的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
標題名稱:mysql排序的方法
文章URL:http://chinadenli.net/article36/jhhppg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、、外貿(mào)建站、網(wǎng)站內(nèi)鏈、小程序開發(fā)、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)