MySQL排序檢索數(shù)據(jù)操作方法梳理
前言
本實驗中所用數(shù)據(jù)庫創(chuàng)建SQL語句以及插入數(shù)據(jù)到數(shù)據(jù)庫中的SQL語句鏈接:
鏈接: https://pan.baidu.com/s/14q4kBP9vGVbOU_4Ggo07GQ?pwd=4w4y
提取碼:4w4y
書接上回說到,MySQL檢索數(shù)據(jù)
本篇文章主要介紹如何使用 select 的 MySQL 語言,根據(jù)我們的想要排序檢索出的數(shù)據(jù)。
1. 排序數(shù)據(jù)
檢索出的數(shù)據(jù)不是隨機顯示的,若不排序,數(shù)據(jù)以其在表中出現(xiàn)的順序顯示。關(guān)系數(shù)據(jù)庫設(shè)計理論認為,如果不規(guī)定排序順序,則不能假定檢索出的數(shù)據(jù)的順序有任何意義。
為了明確地排序用 select 語句檢索出的數(shù)據(jù),可以使用 order by 字句 取一個或多個列的名字,以此對輸出進行排序
如下:
select prod_name from Products order by prod_name;
注意: order by 字句的位置一定是 select 語句的最后一條字句,如果不是最后一條字句,將會出錯
2. 按多個列排序
通常我們不只需要按單個列排序,而是需要按多個列排序,當(dāng)?shù)谝粋€列相等時,按第二個列排序…以此類推。這是,我們只需要將需要排序的多個列間用逗號隔開即可。
如下: 先按 prod_price 排序,prod_price 相同時,按照 prod_name 排序
select prod_id, prod_price, prod_name from Products order by prod_price, prod_name;
3. 按列位置排序
order by 字句還支持按照列位置進行排序,這種方法的好處是不需要重新輸入列名。但是它也有缺點,比如進行排序的列必須在 select 清單中,并且這種方式當(dāng) select 清單變化時容易造成錯誤。
如下:2, 3 分別表示 select 清單中的第二(prod_price),第三列(prod_name)
select prod_id, prod_price, prod_name from Products order by 2, 3;
4. 指定排序方式(升序或者降序)
order by 默認為升序排序 (asc),可以通過指定 desc 關(guān)鍵字來實現(xiàn)降序排序
如下: 通過在 order by 字句的最后加上 desc,實現(xiàn)降序排序
select prod_id, prod_price, prod_name from Products order by prod_price desc;
思考:當(dāng)我們需要對多個列降序排序時,應(yīng)該怎么寫呢?
desc 作用域問題: desc 關(guān)鍵字只作用于直接位于其前面的列名,因此若是想要對多個列降序排序,需要在需要降序排序的每個列的最后都加上 desc 關(guān)鍵字
如下: 按照 prod_price 降序排序,當(dāng) prod_price 相同時,按照 prod_id 降序排序;同理,當(dāng) prod_id 相同時,按照 prod_name 降序排序。
select prod_id, prod_price, prod_name from Products order by prod_price desc, prod_id desc, prod_name desc;
注: desc 只作用于直接位于其前面的列名的特點,使得我們可以很好的定制化排序,在需要降序排序的列后加 desc,而其他列仍然可以按照升序排序,這種機制非常靈活。
5. 擴展—文本性數(shù)據(jù)如何排序
在對文本性數(shù)據(jù)進行排序時,A與a是否相同;a位于B之前,還是Z之后,取決于數(shù)據(jù)庫的設(shè)計方式。
實際上,在字典排序順序中,A被視為與a相同,大部分數(shù)據(jù)庫也采取這種默認做法。要想改變這種行為,可以求助數(shù)據(jù)庫管理員的幫助,許多DBMS容許數(shù)據(jù)庫管理員改變這種行為。
到此這篇關(guān)于MySQL排序檢索數(shù)據(jù)操作方法梳理的文章就介紹到這了,更多相關(guān)MySQL檢索數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Win10系統(tǒng)下MySQL8.0.16 壓縮版下載與安裝教程圖解
這篇文章主要介紹了Win10系統(tǒng)下MySQL8.0.16 壓縮版下載與安裝教程圖解,本文圖文并茂給大家介紹的非常詳細,具有一定的參考解決價值,需要的朋友可以參考下2019-06-06基于一致性hash算法(consistent hashing)的使用詳解
本篇文章對一致性hash算法(consistent hashing)的使用進行了詳細的分析介紹。需要的朋友參考下2013-05-05MySQL使用全庫備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的方法
這篇文章主要給大家介紹了關(guān)于MySQL使用全庫備份數(shù)據(jù)恢復(fù)單表數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用mysql具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧2018-12-12MySQL json相關(guān)函數(shù)及功能詳解
MySQL提供了一系列的JSON函數(shù),用于解析、提取、修改和操作JSON數(shù)據(jù),以下是一些常用的JSON函數(shù)及其功能,需要的朋友可以參考下2023-11-11