sql分組后取每組前10 sqlserver怎么實(shí)現(xiàn)同一個(gè)表中多個(gè)count查詢(xún)并且分組并且統(tǒng)計(jì)總數(shù)?
sqlserver怎么實(shí)現(xiàn)同一個(gè)表中多個(gè)count查詢(xún)并且分組并且統(tǒng)計(jì)總數(shù)?可以有兩種解決方法,所需工具:SQL查詢(xún)兩個(gè)count的方法1:SELECT paperName , COUNT (1) A
sqlserver怎么實(shí)現(xiàn)同一個(gè)表中多個(gè)count查詢(xún)并且分組并且統(tǒng)計(jì)總數(shù)?
可以有兩種解決方法,
所需工具:SQL
查詢(xún)兩個(gè)count的方法1:
SELECT paperName , COUNT (1) AS 總題數(shù) , sum (CASE WHEN statu = 1 THEN 1 ELSE 0 END) AS 審核題數(shù)FROM questionGROUP BY paperNme
查詢(xún)兩個(gè)count的方法2:
select s.總題數(shù), s.審核題數(shù), s.paperNamefrom (select COUNT(1) as 總題數(shù), case when status = 1 then count(1) else 0 end as 審核題數(shù), paperNamefrom question--where papername in (select distinct paperName from question), 這個(gè)條件可以不要了group by paperNme, stauts -- status也要作為分組字段,因?yàn)樵赾ase中有使用) s
sql語(yǔ)句如何分組后得到記錄總數(shù)?
SELECT COUNT(*) FROM (SELECT 分組字段 FROM 表 GROUP BY 分組字段 )別名 SELECT COUNT(*) FROM (SELECT distinct 分組字段 FROM 表)別名擴(kuò)展資料:SQL分組查詢(xún)?cè)赟QL Server中使用的分組查詢(xún)是ORDER BY子句,使用ORDER BY子句要同聚合函數(shù)配合使用才能完成分組查詢(xún),在SELECT查詢(xún)的字段中如果字段沒(méi)有使用聚合函數(shù)就必須出現(xiàn)在ORDER BY子句中(即SELECT后邊的字段名要么出現(xiàn)在聚合函數(shù)中,要么在ORDER BY子句中使用)在分組查詢(xún)中還可以配合使用HAVING子句,定義查詢(xún)條件。使用group by進(jìn)行分組查詢(xún)?cè)谑褂胓roup by關(guān)鍵字時(shí),在select列表中可以指定的項(xiàng)目是有限制的,select語(yǔ)句中僅許以下幾項(xiàng):1、被分組的列2、為每個(gè)分組返回一個(gè)值得表達(dá)式,例如用一個(gè)列名作為參數(shù)的聚合函數(shù)3、group by 有一個(gè)原則,就是 select 后面的所有列中,沒(méi)有使用聚合函數(shù)的列,必須出現(xiàn)在 group by 后面