国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

sql語句中order by、group by和having的區別

2019-11-09 13:28:57
字體:
來源:轉載
供稿:網友

組合子句:

order by、group by、having、where、limit n,m可以組合使用,在這些子句都出現時,其順序為:where、group by、having、order by、limit n,m

既where負責選出記錄、group by將記錄歸組、having選出符合條件的記錄組、在輸出結果前order by按照要求對結果進行排序、limit n,m限制從第n+1行開始輸出m行,若要輸出第n+1行后的所有記錄,可讓m=-1 例如:

select city,surname,firstname,count(*) from customer where state = "aaa" group by surname,firstname having count(*)>=2 order by city limit 0 -1;

查詢住在“aaa州”的同名客戶,結果根據城市名稱排序,輸出從0開始的所有記錄。

order by 子句在查詢執行之后對數據進行排序

select surname,firstname from customer where city="a1" and firstname ="a2" order by surname;

這段查詢語句將查找所有 city 為a1,而firstname 為a2的客戶,接著按surname的首字母升序排列查詢結果。 也可以對多個字段進行排序

select surname,firstname ,initial from customer where city="a1" or city ="a2" order by surname,firstname,initial;

這段查詢語句將查找所有 city 為a1或者為a2的客戶,排序方式:先按surname的首字母升序,如果surname相同,在按照firstname排序,如果都相同,在按照initial排列查詢結果。 默認情況,order by 子句按照升序排序(ASC);若需逆向,可使用DESC

select surname,firstname from customer where city="a1" and firstname ="a2" order by surname DESC;

group by對查詢數據歸組

與order by 不同,該子句是在查詢過程中對數據進行排序,目的是為了歸組(group)或聚合(aggregation),利用排序來集合信息,是發現最大值、最小值、平均值、記錄數量的最簡單方式。

select city,count(*) from customer group by city;

這句查詢首先按city字段排序customer表的記錄,將值相同的記錄放在一起。查詢的輸出結果工兩列。第一列按照字母順序列出誠實名稱,第二列count字列出每個城市里各居住了幾位客戶。輸出的行數等于表customer里各個不同的city值的數量,count(*)計算每個組內的記錄條數。

group by 也能從聚合的記錄中找出不同的屬性

select city,min(birth_date) from customer group by city;

該查詢先按照city分出組,在顯示各個城市中最年長的客戶 注:group by 子句只能用于查找組記錄特征,但不能查找某條記錄的詳細信息。 可在group by 子句中使用的函數

AVG() 找出一組數值字段的平均值MIN() 找出一組數值字段的最小值MAX() 找出一組數值字段的最大值SUM() 找出一組數值字段的總和COUNT() 找出一組數值字段的記錄數量

having 子句允許有條件地聚合數據為數組

select city,count(*),min(birth-date)from customer group by city having count(*)>10;

這段查詢首先按照city值歸組記錄,在刪選留下擁有10名以上客戶的組,在查出年齡最大者。列出的信息則是城市名稱、客戶數量、及最年長者客戶的生日。

having 子句包含的字段或者表達式必須來自select子句。 having子句只能與group by 子句一同使用,這兩個子句的查詢數度比較慢,最好不要用來替代where子句 例如:

select cust_id,surname from customer having surname ="a1";

可改為:

select cust_id,surname from customer where surname ="a1";
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 长治县| 商水县| 惠水县| 皋兰县| 靖宇县| 恭城| 兴和县| 琼中| 加查县| 二手房| 南漳县| 吉水县| 湘阴县| 胶州市| 涟水县| 且末县| 中方县| 灌云县| 怀化市| 锦州市| 吐鲁番市| 南岸区| 应用必备| 朝阳市| 合肥市| 黔江区| 宁津县| 武宣县| 绥宁县| 邹平县| 延庆县| 洪江市| 武乡县| 改则县| 武山县| 菏泽市| 阿鲁科尔沁旗| 盐亭县| 兴海县| 徐州市| 建瓯市|