一個(gè)用來統(tǒng)計(jì)相同姓名人數(shù)的SQl語句
更新時(shí)間:2010年07月19日 23:17:20 作者:
下面是語句是用來統(tǒng)計(jì)同名同姓人的個(gè)數(shù)。非常不錯(cuò)。需要的朋友可以參考下。
sql語句查詢
表結(jié)構(gòu)是這樣:
ID 姓名 性別
1 張三 男
2 王四 男
3 麗麗 女
4 張三 男
5 趙柳 男
6 高潔 男
7 王四 女
8 高潔 女
9 張三 女
怎么能用一條SQL語句查詢出如下的結(jié)果
姓名 人員個(gè)數(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 人員個(gè)數(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é)果
姓名 人員個(gè)數(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
復(fù)制代碼 代碼如下:
SELECT * FROM (SELECT DISTINCT Name,Count(ID) as 人員個(gè)數(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
您可能感興趣的文章:
- SQL 合并多行記錄的相同字段值
- 簡單有用的SQL腳本 (行列互轉(zhuǎn),查詢一個(gè)表內(nèi)相同紀(jì)錄等)
- php中批量刪除Mysql中相同前綴的數(shù)據(jù)表的代碼
- sqlserver通用的刪除服務(wù)器上的所有相同后綴的臨時(shí)表
- sql函數(shù)實(shí)現(xiàn)去除字符串中的相同的字符串
- mysql中多表刪除其中ID相同記錄的方法
- 用SQL語句查詢數(shù)據(jù)庫中某一字段下相同值的記錄方法
- 如何使用MySQL查詢某個(gè)列中相同值的數(shù)量統(tǒng)計(jì)
- SQL中遇到多條相同內(nèi)容只取一條的最簡單實(shí)現(xiàn)方法
相關(guān)文章
SQL Server中查詢結(jié)果超出了查詢時(shí)間范圍解決方法
在本篇文章里小編給大家整理的是關(guān)于SQL Server中查詢結(jié)果超出了查詢時(shí)間范圍解決方法,有需要的朋友們學(xué)習(xí)下。2019-11-11
升級(jí)SQL Server 2014的四個(gè)要點(diǎn)要注意
升級(jí)一個(gè)關(guān)鍵業(yè)務(wù)SQL Server實(shí)例并不容易,它要求有周全的計(jì)劃。計(jì)劃不全會(huì)增加遇到升級(jí)問題的可能性,從而影響或延遲SQL Server 2014的升級(jí)。在規(guī)劃SQLServer 2014升級(jí)時(shí),有一些注意事項(xiàng)有助于避免遇到升級(jí)問題,需要的朋友可以參考下2015-08-08
SQL Server中判斷和處理NULL值的多種方法和解決方案
在SQL Server數(shù)據(jù)庫中,NULL是表示缺少數(shù)據(jù)或未知值的特殊標(biāo)記,處理NULL值是SQL開發(fā)人員經(jīng)常遇到的問題之一,本文將介紹SQL Server中判斷和處理NULL值的不同方法,以及一些解決方案,幫助您更好地處理數(shù)據(jù)庫中的NULL值情況,需要的朋友可以參考下2024-01-01
sql 查詢結(jié)果合并union all用法_數(shù)據(jù)庫技巧
sql語句查詢結(jié)果合并union all用法_數(shù)據(jù)庫技巧,需要的朋友可以參考下。2009-11-11
SQL優(yōu)化經(jīng)驗(yàn)總結(jié)
這篇文章主要內(nèi)容是SQL優(yōu)化經(jīng)驗(yàn)總結(jié),文章對(duì)SQL優(yōu)化進(jìn)行了詳細(xì)介紹,需要的朋友可以參考下2015-08-08

