sql分組查詢問題如何把在同段下具有不同值

2021-03-12 01:02:49 字數 4716 閱讀 4861

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...