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多表分組查詢並排序的問題

select table2.from table2 inner join table1 on table2.table1 id table1.id order by table1.paixu 就像你寫的這樣,直接加過濾條件就可以 但是要在字段前加表名字首以區分兩個表的id欄位 select tabl...

sql查詢中如何將某列分成兩列,SQL中如何將兩列拼接

阿嘎灑 declare str varchar 50 set str 100.1203,200.1234 select substring str,1,patindex str 1 as 經度 reverse substring reverse str 1,patindex str 1 as 緯度 ...

sql排序分組取數的問題,乙個sql排序分組取數的問題

首先,因為不知道您用的是什麼資料庫。如下,僅以oracle為例,希望可以觸動您的靈感,sql如下 select t2.from select t1.rank over partition by t1.編號 order by t1.日期 desc as rk from contract t1 t2 w...