sql語句查詢
表結構是這樣:
ID 姓名 性別
1 張三 男
2 王四 男
3 麗麗 女
4 張三 男
5 趙柳 男
6 高潔 男
7 王四 女
8 高潔 女
9 張三 女
怎么能用一條SQL語句查詢出如下的結果
姓名 人員個數 男人數 女人數 包含ID
張三 3 2 1 1,4,9
王四 2 1 1 2,7
麗麗 1 0 1 3
高潔 2 1 1 6,8
趙柳 1 1 0 5
復制代碼 代碼如下:
SELECT * FROM (SELECT DISTINCT Name,Count(ID) as 人員個數,
sum(case when Sex='男' then 1 else 0 end) as 男人數,
sum(case when Sex='女' then 1 else 0 end) as 女人數
FROM Test group by Name) A
OUTER APPLY(
SELECT
[包含ID]= STUFF(REPLACE(REPLACE(
(
SELECT ID FROM Test N
WHERE Name = A.Name
FOR XML AUTO
), 'N ID="', ','), '"/>', ''), 1, 1, '')
)N
您可能感興趣的文章:- SQL 合并多行記錄的相同字段值
- 簡單有用的SQL腳本 (行列互轉,查詢一個表內相同紀錄等)
- php中批量刪除Mysql中相同前綴的數據表的代碼
- sqlserver通用的刪除服務器上的所有相同后綴的臨時表
- sql函數實現去除字符串中的相同的字符串
- mysql中多表刪除其中ID相同記錄的方法
- 用SQL語句查詢數據庫中某一字段下相同值的記錄方法
- 如何使用MySQL查詢某個列中相同值的數量統計
- SQL中遇到多條相同內容只取一條的最簡單實現方法