1. sql語句,先分組查詢,在算每組的行數,在排序
只能用存儲過程
思路如下
將分組那個欄位比如是A
Create temp table tmp_b
foreach
select distinct A into bianlianga from table
insert into tmp_b
select top 2 B from table where A=bianlianga order by B ;
delete from table where A=bianlianga and B in(select * from tmp_b);
end foreach
2. sql如何分組查詢單表,並顯示所有分組數據
selectclass,id,no,namefromAgroupbyclass,id,no,name;
//分組函數有:
max()
min()
sum()
count()
avg()
例如:select max(ename) as,class fromAgroupbyclass
3. sql語句 如何分組後得到記錄總數
SELECT COUNT(*)
FROM (SELECT 分組欄位 FROM 表
GROUP BY 分組欄位
)別名
或者
SELECT COUNT(*)
FROM (SELECT distinct 分組欄位 FROM 表)別名
(3)sql先分組再查詢每組數據量擴展閱讀:
SQL分組查詢
在SQL Server中使用的分組查詢是ORDER BY子句,使用ORDER BY子句要同聚合函數配合使用才能完成分組查詢,在SELECT查詢的欄位中如果欄位沒有使用聚合函數就必須出現在ORDER BY子句中(即SELECT後邊的欄位名要麼出現在聚合函數中,要麼在ORDER BY子句中使用)
在分組查詢中還可以配合使用HAVING子句,定義查詢條件。
使用group by進行分組查詢
在使用group by關鍵字時,在select列表中可以指定的項目是有限制的,select語句中僅許以下幾項:
1、被分組的列
2、為每個分組返回一個值得表達式,例如用一個列名作為參數的聚合函數
3、group by 有一個原則,就是 select 後面的所有列中,沒有使用聚合函數的列,必須出現在 group by 後面
4. sql中根據表中一個欄位分組分別統計每個分組的記錄數
分組統計可以參考以下操作:
當數組重復的時候分組才有意義,因為一個人也可以分為一組,只是沒有意義而已,分組採用GROUP BY語句完成,語法如下:
5. sql 語句分組並求每組總數
selectr.regionName區域,
sum(casewhend.sate=1then1else0end)在線數量,
sum(casewhend.sate=0then1else0end)離線數量
fromregionr,organizeo,devInfod
wherer.regionId=o.regionId
ando.organziedId=d.organzieId
groupbyr.regionName
6. sql中根據表中一個欄位分組如何分別統計每個分組的記錄數
分組統計可以參考以下操作:
當數組重復的時候分組才有意義,因為一個人也可以分為一組,只是沒有意義而已,分組採用GROUP BY語句完成,語法如下:
7. sql語句按照兩個欄位分組然後查詢出每一組中的最大值。
select a,b,max(c) c
from tab
group by a,b
8. sql server 2008 分組並查詢每組的全部數據
分組時,只能查詢group by 後的欄位,以及統計函數(如sum, max等),至於其他欄位,需要將分組後的結果集當做一個表與其他表連接。
9. sql 怎麼先分組再查詢每組中前三天數據
SELECT TEST1.STUDENTNAME, TEST1.SCORE, TEST1.CLASS
FROM (SELECT STUDENTNAME,
SCORE,
CLASS,
ROW_NUMBER() OVER(PARTITION BY CLASS ORDER BY CLASS, SCORE DESC) ROW_NUM
FROM TABLE_NAME) TEST1
WHERE TEST1.ROW_NUM <= 3
ORDER BY TEST1.CLASS, TEST1.STUDENTNAME
看看是不是你要的,這用到了分組排序編號
10. 請教SQL分組及取得每組記錄欄位內容和記錄數語句
---------機構下所有老師,是使用這個A表,groupid = 1並且jgname = '機構名'來查詢的吧?
select t.id, t.name, t.classid, sum(1) as zcount
from A t, A T1
where t.groupid = 0
and t1.groupid = 1
and t.jgname = t1.jgname
group by t.id, t.name, t.classid