sql按列分組求和

時間 2021-08-14 19:30:40

1樓:匿名使用者

你的日期欄位是字串型的?

如果是可以這樣

select left(日期,case substring(日期,7,1) when '-' then 6 else 7 end ) as 日期,貨號,sum(數量) as 數量,sum(金額) as 金額

from table1

group by left(日期,case substring(日期,7,1) when '-' then 6 else 7 end ),貨號

如果日期是datetime型的可以這樣

select cast(year(日期) as varchar(4)) + '-' + cast(month(日期) as varchar(2)) ,貨號,sum(數量) as 數量,sum(金額) as 金額

from table1

group by cast(year(日期) as varchar(4)) + '-' + cast(month(日期) as varchar(2)),貨號

2樓:匿名使用者

select trunc(日期,'mm'), 貨號, sum(數量) as 數量, sum(金額) as 金額

from 表名

group by trunc(日期,'mm'), 貨號說明一下,trunc是oracle資料庫的擷取函式,將日期擷取到月份,也可以用to_char(日期,'yyyy-mm')

其它資料庫的,用對應函式處理即可

3樓:匿名使用者

select

convert(varchar(7),日期,120),貨號,sum(數量) as 數量,sum(金額) as 金額

from table group by 日期, 貨號

4樓:熊霸天

select 貨號, sum(金額) as 金額,sum(數量) as 數量 from 表名 group by 貨號

(oracle)sql根據某一欄位分組求和後再列出其他欄位資訊

5樓:匿名使用者

acd一樣的話,可以select a,c,d,sum(b) from table group by a,c,d;

除了ab欄位外,取c一條記錄 select a,c,sum(b) from where c = '你要的c' table group by a,c;

6樓:匿名使用者

select a,sum(b),c,d,e from table group by a ,c,d,e

select * from table where a= b= c= d=

sql中根據表中一個欄位分組分別統計每個分組的記錄數

7樓:baby愛吃水煎包

分組統計可以參考以下操作:

當陣列重複的時候分組才有意義,因為一個人也可以分為一組,只是沒有意義而已,分組採用group by語句完成,語法如下:

例子:按照部門編號分組,求出每個部門的人數,平均工資

按照職位分組,求出每個職位的最高和最低工資:

一旦分組之後,實際上對於語法上就會出現新的限制:

分組函式可在沒有分組的時候單獨使用,卻不能出現其他的查詢欄位:

ename就是其它查詢欄位。在select子句之後,只能出現分組的欄位和統計函式,其它的欄位不能出現

分組函式允許巢狀,但是巢狀之後的分組函式的查詢之中不能再出現任何其它欄位

例子:按照職位分組,統計平均工資最高的工資

當新增其它欄位『job』之後出現錯誤

例子:查詢出每個部門的名稱、位置、部門的人數、平均工資

確定所需的資料表:

emp表:部門的人數,平均工資

dept表:部門的名稱,位置

確定已知的關聯欄位:

emp.deptno = dept.deptno

發現dname存在重複,可以進行分組去除重複,按照之前對分組的理解,只要資料重複那麼就有可能進行分組的查詢操作,但是此時與之前的分組操作 不太一樣,之前的分組是針對一張實體表進行分組的(emp,dept都屬於實體表),但是對於以上的資料是通過查詢結果顯示的,所以是一張臨時的虛擬表,但是不管是否是實體表還是虛擬表,只要是有重複,那麼就直接進行分組

8樓:匿名使用者

select 欄位,count(欄位) from tablename group by 欄位

sql按分類級別彙總,sql 按分類級別彙總

按分類級別的話,用group by進行分組,如果彙總的話,用sum求和,用count計數。sql select count 1 sum sorce from tablename group by class no 解釋 以上是假設等級欄位為class no,之後求出每個等級的總條數和對應的 sorc...

SQL分組統計且跨表查詢

select table2.t name,sum table1.s total from table1,table2 where table1.s date like 2013 02 group by table2.t name select table2.t id,sum table1.s tot...

用SQL語句對資料庫某欄位進行求和,但求和條件不會寫

大概是這樣 date倒底是字元還是日期型別的 select year date month date 廠家id,sum xsl yxsl from 表名 where group by year date month date 建議用union,如下 select sum xsl as yxsl fr...