溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SqlServer系列筆記——查詢過濾分組排序

發布時間:2020-06-27 12:43:14 來源:網絡 閱讀:737 作者:codejson 欄目:數據庫
  1. DISTINCT

    DISTINCT是對整個結果集進行數據重復處理的,而不是針對每一個列,

因此下面的語句并不會只保留Fdepartment進行重復值處理:

 

   SELECT DISTINCT FDepartment,FSubCompany 

     FROM T_Employee

2. GROUP BY

按照年齡進行分組統計各個年齡段的人數:

SELECT FAge,Count(*) FROM T_Employee GROUP BY Fage

GROUP BY子句必須放到WHERE語句的之后 


沒有出現在GROUP BY子句中的列是不能放到SELECT語句后的列名列表中的 (聚合函數中除外)


錯誤:

 SELECT FAge,FSalary FROM T_Employee GROUP BY FAge 


正確:

 SELECT FAge,AVG(FSalary) FROM T_Employee GROUP BY FAge

3.Having

在Where中不能使用聚合函數,必須使用Having,Having要位于Group By之后:

 

   SELECT FAge,COUNT(*) AS 人數 FROM T_Employee 

    GROUP BY FAge 

    HAVING COUNT(*)>1 


注意Having中不能使用未參與分組的列,Having不能替代where。作用不一樣,Having是對組進行過濾。


4.In

Delete T_Employee where FId in(21,22)

SELECT FAge,FNumber,FName FROM T_Employee 

  WHERE FAge IN (23,25,28) 

范圍值:

   SELECT * FROM T_Employee WHERE FAGE>=23 AND FAGE <=27 

   

SELECT * FROM T_Employee WHERE FAGE BETWEEN 23 AND 27


5.ORDER BY 數據排序

ORDER BY子句位于SELECT語句的末尾,它允許指定按照一個列或者多個列進行排序,

還可以指定排序方式是升序(從小到大排列,ASC)還是降序(從大到小排列,DESC)。


按照年齡升序排序所有員工信息的列表:

    SELECT * FROM  T_Employee ORDER BY FAge ASC 


按照年齡從大到小排序,如果年齡相同則按照工資從大到小排序 :

SELECT * FROM  T_Employee ORDER BY FAge DESC,FSalary DESC(多個排序條件)



ORDER BY子句要放到WHERE子句之后 :

SELECT * FROM T_Employee WHERE FAge>23 ORDER BY FAge DESC,FSalary DESC 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女