1樓:匿名使用者
用group by就可bai以解決。
比如表名為dutest,資料如下
id grade
1 10
1 20
2 40
2 30
現在要求按
zhiid分組查詢daograde的和,可以用如下語回句:答select id,sum(grade) as grade from test group by id;
得到的結果是
id grade
1 30
2 70
2樓:匿名使用者
select 費用
du區間=(case when 費用
zhi>=10 and 費用dao
<20 then '10-20' when 費用》=20 and 費用<30 then '20-30' end),count(*) as 個數, sum(費用) as 費用總計內
from 表
group by (case when 費用》=10 and 費用<20 then '10-20' when 費用》=20 and 費用<30 then '20-30' end)
類似,如果要多個容
分類,可在case裡多加幾個 when
3樓:匿名使用者
declare @
答t table (hm varchar(10),fy int)insert @t values ('23456',12)insert @t values ('56423',13)insert @t values ('56321',15)insert @t values ('89546',25)insert @t values ('78965',85)insert @t values ('56789',88)select bj,count(fy) as sl,sum(fy) as hj from (
select *,substring(cast(fy as varchar(10)),1,1) as bj
from @t) a
group by bj
4樓:西安_白小鵬
select 費用/10,sum(費用),count(1) from 表 group by 費用/10
5樓:匿名使用者
select 號碼zhi,
sum(case when 費用
dao回 between 10 and 20 then 費用 else 0 end)[10-20],
sum(case when 費用 between 21 and 30 then 費用 else 0 end)[21-30],
sum(case when 費用 between 31 and 40 then 費用 else 0 end)[31-40],
sum(case when 費用 between 41 and 50 then 費用 else 0 end)[41-50],
sum(case when 費用 between 51 and 60 then 費用 else 0 end)[51-60],
sum(case when 費用 between 61 and 70 then 費用 else 0 end)[61-70],
sum(case when 費用 between 71 and 80 then 費用 else 0 end)[71-80]
.....
from 表
group by 號碼答
sql如何查詢一張表的所有欄位並按其中一個欄位進行分組
6樓:匿名使用者
1、建立測試表,
create table test_group_cols(id number, value varchar2(20), remark varchar2(20));
2、插入測試資料
insert into test_group_cols values(1,'15y','rmk1');
insert into test_group_cols values(2,'15y','rmk1');
insert into test_group_cols values(3,'25x','rmk2');
insert into test_group_cols values(3,'333','rmk4');
insert into test_group_cols values(3,'666','rmk3');
insert into test_group_cols values(4,'35s','rmk1');
insert into test_group_cols values(4,'77','rmk1');
3、查詢該表的所有欄位,select t.*, rowid from user_tab_cols t where table_name = upper('test_group_cols'),可以發現共有3個欄位,
4、編寫sql,按id欄位進行分組,select id, count(*) from test_group_cols t group by id,
7樓:汐日南莘
group by 語句用於結合合計函式,根據一個或多個列對結果集進行分組。
group by 也可以同時使用多個欄位進行分組
例子:假設一個表tab有一個id欄位、一個name欄位,內容如下
id name
3 張三
5 李四
1 王五
1 趙六
sql 語句
select * from tab group by id
這條sql的結果應該是
id name
1 王五
3 張三
5 趙六
第一個name顯示的是王五 因為sql group by滿足條件的有多個時是取第一個的
上面的結果並沒有什麼實際意義 group by 一般結合合計函式一起使用
比如 sql語句
select id, count(*) total from tab group by id
用於統計每個id有多少個
結果id total
1 2
3 1
5 1
8樓:
select * from 表
group by 其中一個欄位名稱
9樓:風飛
select * from 表名 group by 欄位
一定會報錯的,select 後面1 是分組的欄位,要麼是聚合函式 max min sum arg 等
你分組是要進行匯**一計嗎?要是這樣的話,你就加聚合函式就好 了
10樓:匿名使用者
group by 必須搭配 聚組函式一起使用。使用order by ,可以達到你要的效果
11樓:帽子叔叔大
select * from
sql中根據表中一個欄位分組分別統計每個分組的記錄數
12樓:baby愛吃水煎包
分組統計可以參考以下操作:
當陣列重複的時候分組才有意義,因為一個人也可以分為一組,只是沒有意義而已,分組採用group by語句完成,語法如下:
例子:按照部門編號分組,求出每個部門的人數,平均工資
按照職位分組,求出每個職位的最高和最低工資:
一旦分組之後,實際上對於語法上就會出現新的限制:
分組函式可在沒有分組的時候單獨使用,卻不能出現其他的查詢欄位:
ename就是其它查詢欄位。在select子句之後,只能出現分組的欄位和統計函式,其它的欄位不能出現
分組函式允許巢狀,但是巢狀之後的分組函式的查詢之中不能再出現任何其它欄位
例子:按照職位分組,統計平均工資最高的工資
當新增其它欄位『job』之後出現錯誤
例子:查詢出每個部門的名稱、位置、部門的人數、平均工資
確定所需的資料表:
emp表:部門的人數,平均工資
dept表:部門的名稱,位置
確定已知的關聯欄位:
emp.deptno = dept.deptno
發現dname存在重複,可以進行分組去除重複,按照之前對分組的理解,只要資料重複那麼就有可能進行分組的查詢操作,但是此時與之前的分組操作 不太一樣,之前的分組是針對一張實體表進行分組的(emp,dept都屬於實體表),但是對於以上的資料是通過查詢結果顯示的,所以是一張臨時的虛擬表,但是不管是否是實體表還是虛擬表,只要是有重複,那麼就直接進行分組
13樓:匿名使用者
select 欄位,count(欄位) from tablename group by 欄位
sql查詢按某個欄位相同的值分組輸出到前端
14樓:匿名使用者
你把一個表當倆個表。然後根據sort_order相等的匹配成功。然後輸出id和name
select a.id,a.name,a.
sort_order from goods a ,goods b where a.sort_order=b.sort_order希望對你有用。
如果有重複資料。可以distinct下
sql語句分組查詢前10條資料,sql如何實現分組並select出每組前10個
class classid classnameproduct classid proname numselect top 10 c.classid c.classname,sum p.num from class c,product p where p.classid c.classid group...
sql語句分組group by問題
select top 5 dd.host cust id,客戶號business org num,機構號sum acct bal acct bal 存款總額from cjt88 acct dd dd 存款表where dd.stat dt 20130824 日期 group by host cust...
sql查詢問題
select sum case when 欄位1 0 then 分數1 else 0 end sum case when 欄位2 0 then 分數2 else 0 end sum case when 欄位3 0 then 分數3 else 0 end from表 如果你的資料庫支援abs func...