欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL數(shù)據(jù)庫查詢排序方式

 更新時(shí)間:2023年07月25日 09:18:34   作者:84歲帶頭沖鋒  
這篇文章主要介紹了MySQL數(shù)據(jù)庫查詢排序方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

** 引言 **

對MySQL 數(shù)據(jù)庫的查詢,除了基本的查詢外,有時(shí)候需要對查詢的結(jié)果集進(jìn)行處理。

例如只取10條數(shù)據(jù)、對查詢結(jié)果進(jìn)行排序或分組等等。

一、按關(guān)鍵字排序

?使用select語句可以將需要的數(shù)據(jù)從 mysql 數(shù)據(jù)庫中查詢出來,如果對查詢的結(jié)果進(jìn)行排序操作,可以使用 order by 語句完成排序,并且最終將排序后的結(jié)果返回給客戶。

這個(gè)語句的排序不光可以針對某一個(gè)字段,也可以針對多個(gè)字段。

?select 字段 from 表名 order by 字段 ASC|DESC?
?ASC|DESC?
?ASC 是按照升序進(jìn)行排名的,是默認(rèn)的排序方式,即ASC可以省略?
?DESC 是按照降序的方式進(jìn)行排序的?
?order by 也可以通過 where 子句對查詢結(jié)果進(jìn)行進(jìn)一步的過濾?
?可進(jìn)行多字段的排序

** 創(chuàng)建一個(gè)新的表 **

在這里插入圖片描述

1.1 單字段排序

原表內(nèi)容

在這里插入圖片描述

1.1.1 按分?jǐn)?shù)排序,默認(rèn)不指定是升序排序

select * from CS order by score; (asc默認(rèn)省略)

在這里插入圖片描述

1.1.2 按分?jǐn)?shù)降序排序

select * from CS order by score desc;

在這里插入圖片描述

結(jié)合where進(jìn)行條件過濾,篩選地址是nanjing的學(xué)生按分?jǐn)?shù)升序排列

select * from CS where address='nanjing' order by score;

在這里插入圖片描述

1.2 多字段排序

ORDER BY 語句也可以使用多個(gè)字段來進(jìn)行排序,當(dāng)排序的第一個(gè)字段相同的記錄有多條的情況下,這些多條的記錄再按照第二個(gè)字段進(jìn)行排序,ORDER BY 后面跟多個(gè)字段時(shí),字段之間使用英文逗號(hào)隔開,優(yōu)先級(jí)是按先后順序而定,但order by 之后的第一個(gè)參數(shù)只有在出現(xiàn)相同值時(shí),第二個(gè)字段才有意義。

1.2.1 查詢學(xué)生信息先按興趣id升序排列,相同分?jǐn)?shù)的,id按降序排列

select * from CS order by hobbid,id desc;

在這里插入圖片描述

1.2.2 查詢學(xué)生信息先按興趣id升序排列,相同分?jǐn)?shù)的,id按升序排列

select * from CS order by hobbid,id;

在這里插入圖片描述

1.3 區(qū)間判斷及查詢不重復(fù)記錄

1.3.1 AND/OR ——且/或的使用

select * from CS where id>2 and id<5;
select * from CS where id>2 or id<5;

在這里插入圖片描述

1.3,2 嵌套/多條件

select * from CS where id>2 or (id>3 and id <5);
select * from CS where score <70 or (score >70 and score <100);

在這里插入圖片描述

查看分?jǐn)?shù)大于70 小于等于95的數(shù)據(jù)

select * from CS where score > 70 and score <=90;?

查看分?jǐn)?shù)小于70 或者大于90的數(shù)據(jù),按降序顯示

select * from CS where score < 70 or score >90 order by score desc;

在這里插入圖片描述

1.4 distinct 查詢不重復(fù)記錄

select distinct 字段 from 表名﹔ 

  • distinct 必須放在最開頭
  • distinct 只能使用需要去重的字段進(jìn)行操作
  • distinct 去重多個(gè)字段時(shí),含義是:幾個(gè)字段同時(shí)重復(fù)時(shí)才能被過濾,會(huì)默認(rèn)按左邊第一個(gè)字段為依據(jù)。

1.4.1 查看hobbid有多少種

select distinct hobbid from CS;

在這里插入圖片描述

二、對結(jié)果進(jìn)行分組

通過 SQL 查詢出來的結(jié)果,還可以對其進(jìn)行分組,使用 GROUP BY 語句來實(shí)現(xiàn) ,GROUP BY 通常都是結(jié)合聚合函數(shù)一起使用的,常用的聚合函數(shù)包括:計(jì)數(shù)(COUNT)、 求和(SUM)、求平均數(shù)(AVG)、最大值(MAX)、最小值(MIN),GROUP BY 分組的時(shí)候可以按一個(gè)或多個(gè)字段對結(jié)果進(jìn)行分組處理。

select 字段,聚合函數(shù) from 表名 (where 字段名(匹配) 數(shù)值) group by 字段名;

2.1 對hobbid進(jìn)行分組查詢

并顯示最大的id

select hobbid,max(id) from CS group by hobbid;

在這里插入圖片描述

2.2 按hobbid相同的分組

計(jì)算相同得的個(gè)數(shù)

select count(name),hobbid from CS group by hobbid;

在這里插入圖片描述

2.3 結(jié)合where語句

篩選分?jǐn)?shù)大于等于80的分組,計(jì)算學(xué)生個(gè)數(shù)

select count(name),score from CS where score > 80 group by score;

在這里插入圖片描述

班同學(xué)成績表
count(name):計(jì)數(shù)  score 分?jǐn)?shù) :
score>=80 :優(yōu)秀
score >=60 and score <80 :優(yōu)
結(jié)合order by把分?jǐn)?shù)按降序排列
select count(name),score from gaojie where score > 80 group by score oeder by score desc;

三、限制結(jié)果條目

limit 限制輸出的結(jié)果記錄

在使用 MySQL SELECT 語句進(jìn)行查詢時(shí),結(jié)果集返回的是所有匹配的記錄(行)。

有時(shí)候僅 需要返回第一行或者前幾行,這時(shí)候就需要用到 LIMIT 子句

select 字段 from 表名 limit [offset,] number
limit 的第一個(gè)參數(shù)是位置偏移量(可選參數(shù)),是設(shè)置 mysql 從哪一行開始
如果不設(shè)定第一個(gè)參數(shù),將會(huì)從表中的第一條記錄開始顯示。
第一條偏移量是0,第二條為1
offset 為索引下標(biāo)
number 為索引下標(biāo)后的幾位

3.1 查詢所有信息顯示前4行記錄

select * from CS limit 4;

在這里插入圖片描述

3.2 從第4行開始

往后顯示3行內(nèi)容

select * from CS limit 3,3;

在這里插入圖片描述

3.3 結(jié)合order by語句

按id的大小升序排列顯示前四行

select * from CS order by id limit 4;

在這里插入圖片描述

四 、設(shè)置別名(alias ——》as)

在 mysql 查詢時(shí),當(dāng)表的名字比較長或者表內(nèi)某些字段比較長時(shí),為了方便書寫或者多次使用相同的表,可以給字段列或表設(shè)置別名, 方便操作,增強(qiáng)可讀性。

列的別名  select 字段 as 字段別名 表名
表的別名 select 別名.字段 from 表名 as 別名
as 可以省略

使用場景:

1、對復(fù)雜的表進(jìn)行查詢的時(shí)候,別名可以縮短查詢語句的長度

2、多表相連查詢的時(shí)候(通俗易懂、減短sql語句)

4.1 查詢gaojie表的記錄數(shù)量

以number顯示

select count(*) as number from CS;

在這里插入圖片描述

4.2 AS 還可以作為連接語句的操作符

創(chuàng)建tab1表,將info表的查詢記錄全部插入t1表

create table CS1 as select * from CS;

在這里插入圖片描述

此處AS起到的作用:

1、創(chuàng)建了一個(gè)新表t1 并定義表結(jié)構(gòu),插入表數(shù)據(jù)(與info表相同)

2、但是”約束“沒有被完全”復(fù)制“過來 #但是如果原表設(shè)置了主鍵,那么附表的:default字段會(huì)默認(rèn)設(shè)置一個(gè)0

相似:

克隆、復(fù)制表結(jié)構(gòu)

create table t1 (select * from info);
#也可以加入where 語句判斷
create table test1 as select * from info where score >=60;

在為表設(shè)置別名時(shí),要保證別名不能與數(shù)據(jù)庫中的其他表的名稱沖突。

列的別名是在結(jié)果中有顯示的,而表的別名在結(jié)果中沒有顯示,只在執(zhí)行查詢時(shí)使用。

在這里插入圖片描述

總結(jié)

介紹了一些高階語句在數(shù)據(jù)表或者數(shù)據(jù)庫里面的用法,查東西更方便。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mysql主從GTID與binlog的區(qū)別及說明

    Mysql主從GTID與binlog的區(qū)別及說明

    MySQL GTID(全局事務(wù)標(biāo)識(shí)符)與binlog(二進(jìn)制日志)是搭建主從復(fù)制的兩種機(jī)制,GTID為每個(gè)事務(wù)分配唯一標(biāo)識(shí),確保復(fù)制無數(shù)據(jù)沖突或丟失,便于復(fù)制配置和管理;binlog記錄所有數(shù)據(jù)庫更改,用于數(shù)據(jù)恢復(fù)和復(fù)制,GTID基于事務(wù)標(biāo)識(shí)
    2024-10-10
  • MySQL?CHAR和VARCHAR區(qū)別

    MySQL?CHAR和VARCHAR區(qū)別

    本文主要介紹了MySQL?CHAR和VARCHAR區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • MySQL初學(xué)者可以告別分組聚合查詢的困擾了

    MySQL初學(xué)者可以告別分組聚合查詢的困擾了

    這篇文章主要為大家介紹了MySQL分組聚合查詢的難點(diǎn)講解,幫助MySQL初學(xué)著告別分組聚合查詢的困擾,有需要的朋友可以借鑒參考下,希望能夠有所進(jìn)步
    2021-10-10
  • php連接MySQL的兩種方式對比

    php連接MySQL的兩種方式對比

    這篇文章主要介紹了php連接MySQL的兩種方式對比,一種是原生的鏈接方式另外一種是PDO方式,附上示例,推薦給大家,有需要的小伙伴可以參考下
    2015-04-04
  • 詳解MySQL主從復(fù)制及讀寫分離

    詳解MySQL主從復(fù)制及讀寫分離

    這篇文章主要介紹了詳解MySQL主從復(fù)制及讀寫分離,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)mysql的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • MySQL備份和還原操作小結(jié)

    MySQL備份和還原操作小結(jié)

    備份數(shù)據(jù)庫兩個(gè)主要方法是用mysqldump程序或直接拷貝數(shù)據(jù)庫文件,這篇文章主要介紹了MySQL備份和還原操作小結(jié),需要的朋友可以參考下
    2024-08-08
  • mysql5.6主從搭建以及不同步問題詳解

    mysql5.6主從搭建以及不同步問題詳解

    大家好,本篇文章主要講了mysql5.6主從搭建以及不同步問題詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Mysql的Explain使用方式及索引總結(jié)

    Mysql的Explain使用方式及索引總結(jié)

    這篇文章主要介紹了Mysql的Explain使用方式及索引總結(jié),具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • MySQL Slave 觸發(fā) oom-killer解決方法

    MySQL Slave 觸發(fā) oom-killer解決方法

    這篇文章主要介紹了MySQL Slave 觸發(fā) oom-killer解決方法,需要的朋友可以參考下
    2016-07-07
  • 詳解數(shù)據(jù)庫_MySQL: mysql函數(shù)

    詳解數(shù)據(jù)庫_MySQL: mysql函數(shù)

    這篇文章主要介紹了數(shù)據(jù)庫_MySQL: mysql函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03

最新評(píng)論