一個用來統(tǒng)計相同姓名人數(shù)的SQl語句
更新時間:2010年07月19日 23:17:20 作者:
下面是語句是用來統(tǒng)計同名同姓人的個數(shù)。非常不錯。需要的朋友可以參考下。
sql語句查詢
表結(jié)構(gòu)是這樣:
ID 姓名 性別
1 張三 男
2 王四 男
3 麗麗 女
4 張三 男
5 趙柳 男
6 高潔 男
7 王四 女
8 高潔 女
9 張三 女
怎么能用一條SQL語句查詢出如下的結(jié)果
姓名 人員個數(shù) 男人數(shù) 女人數(shù) 包含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 人員個數(shù),
sum(case when Sex='男' then 1 else 0 end) as 男人數(shù),
sum(case when Sex='女' then 1 else 0 end) as 女人數(shù)
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
表結(jié)構(gòu)是這樣:
ID 姓名 性別
1 張三 男
2 王四 男
3 麗麗 女
4 張三 男
5 趙柳 男
6 高潔 男
7 王四 女
8 高潔 女
9 張三 女
怎么能用一條SQL語句查詢出如下的結(jié)果
姓名 人員個數(shù) 男人數(shù) 女人數(shù) 包含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 人員個數(shù),
sum(case when Sex='男' then 1 else 0 end) as 男人數(shù),
sum(case when Sex='女' then 1 else 0 end) as 女人數(shù)
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

相關(guān)文章
SQL Server實現(xiàn)自動循環(huán)歸檔分區(qū)數(shù)據(jù)腳本詳解
最近在工作中遇到了關(guān)于sql server的一個問題,通過查找相關(guān)的資料終于解決了,所以下面這篇文章主要給大家介紹了關(guān)于SQL Server如何實現(xiàn)自動循環(huán)歸檔分區(qū)數(shù)據(jù)腳本的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-09-09sqlserver下Kill 所有連接到某一數(shù)據(jù)庫的連接
可以通過下面代碼Kill所有連接到某一數(shù)據(jù)庫的所有連接2010-05-05MSSQL 數(shù)據(jù)庫備份和還原的幾種方法 圖文教程
MSSQL 數(shù)據(jù)庫備份和還原的幾種方法小結(jié),配有圖文,大家看了就知道了。2009-12-12SQL?Server?數(shù)據(jù)庫基礎(chǔ)編程詳解
這篇文章主要為大家介紹了SQL?Server?數(shù)據(jù)庫基礎(chǔ)編程,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-01-01MsSQL數(shù)據(jù)導入到Mongo的默認編碼問題(正確導入Mongo的方法)
今天進行了一個實驗來驗證數(shù)據(jù)導入到mongo的效率問題,但是期間出現(xiàn)了默認編碼問題,下面看一下正確的方法2013-11-11