❶ sql數據分組統計問題
SELECT規格,批號,色別,等級,
SUM(毛重)AS毛重,SUM(凈重)AS凈重,SUM(筒子)AS筒子,SUM(箱數)AS箱數
FROMTGROUPBY規格,批號,色別,等級
這里你提供的數據,等級欄位值都是A,所以不會造成錯誤,不然等級也是要加入分組的。
❷ sql 分組 編號
如果有主鍵列,假設主鍵為ID:
select 列名,nid = (select count(1) from 表名 where 列名= a.列名 and id <= a.id)
from 表名 a
如果沒有主鍵列,必須造一個:
select identity(int,1,1) as id ,* into # from 表名
select 列名,nid = (select count(1) from # where 列名= a.列名 and id <= a.id)
from # a
SQL SERVER 2005及以後的版本,可以用roy_88的語法
❸ SQL中分組短語是什麼
SQL中分組短語是:group by。
GROUP BY 語句
GROUP BY 語句用於結合合計函數,根據一個或多個列對結果集進行分組。
GROUP BY 語法
SELECT column_name, aggregate_function(column_name)FROM table_name WHERE column_name operator valueGROUP BY column_name
Group By 的使用:
1、 Group By [Expressions]:
這個恐怕是Group By語句最常見的用法了,Group By + [分組欄位](可以有多個)。在執行了這個操作以後,數據集將根據分組欄位的值將一個數據集劃分成各個不同的小組。比如有如下數據集,其中水果名稱(FruitName)和出產國家(ProctPlace)為聯合主鍵:
SELECTFruitName,ProctPlace,Price,IDASIDE,Discount
FROMT_TEST_FRUITINFO
WHERE(ProctPlace=N'china')ORDERBYIDE
這里只有在ORDER BY語句中才可以使用IDE,其他條件語句中如果需要引用列名則只能使用ID,而不能使用IDE。
以上就是Group By的相關使用說明。內容參考與網站CSDN中的「SQL語句Group By 語句小結「。
❹ sql語句 如何分組後得到記錄總數
SELECT COUNT(*)
FROM (SELECT 分組欄位 FROM 表
GROUP BY 分組欄位
)別名
或者
SELECT COUNT(*)
FROM (SELECT distinct 分組欄位 FROM 表)別名
(4)sql分組often擴展閱讀:
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 後面
❺ sql語句實現分組統計
方法和詳細的操作步驟如下:
1、第一步,創建一個測試表,詳細代碼見下圖,轉到下面的步驟。
❻ SQL多次分組問題 group by
select emp_id,time,sum() from table_name group by emp_id,time;
這只是一次分組,只不過按照兩個欄位分組
❼ sql如何分組查詢單表,並顯示所有分組數據
selectclass,id,no,namefromAgroupbyclass,id,no,name;
//分組函數有:
max()
min()
sum()
count()
avg()
例如:select max(ename) as,class fromAgroupbyclass
❽ SQL 分組數據
連載的上一篇文章,我們講到通過 SQL 聚合函數可以匯總數據,比如對行進行計數,計算和與平均數,獲取最大值和最小值。
但目前為止,我們的匯總都是正對所有行或匹配 WHERE 子句的數據上進行的。比如返回供應商 DLL01 提供的產品數目:
運行結果:
那如果我們想要返回每個供應商提供的產品數目呢?這就需要用到分組聚合了。使用分組可以將數據分為多個邏輯組,然後對每個組進行聚合計算。
分組的創建使用 SELECT 語句中的 GROUP BY 子句,比如下面的 SQL 返回每個供應商提供的產品數目:
運行結果:
上述 SELECT 語句返回兩個列, vend_id 為供應商 ID,是分組欄位; num_prods 為計算欄位,使用 count(*) 聚合而來。 GROUP BY 子句告訴 DBMS 按 vend_id 排序並分組數據,然後對每個分組而不是整個數據集進行聚合。
除了使用 GROUP BY 分組數據外, SQL 還允許過濾分組,規定包含哪些分組,排除哪些分組。比如,我們只想列出供應產品數目在 2 種以上的供應商及其供應產品的數目。
這里有個過濾條件: 供應產品數目大於 2 ,條件中的 供應產品數目 是針對分組後進行聚合產生的計算欄位,因此無法使用 WHERE 子句。 WHERE 子句過濾時指定的是行,而不是分組。
為此, SQL 提供了 HAVING 子句來過濾分組,並且 HAVING 支持所有 WHERE 操作符。下面,我們來完成供應產品數目在 2 種以上的供應商及其供應產品的數目。
運行結果:
跟前面的結果相比,供應產品數目等於 2 的供應商信息就不見啦~
關於 WHERE 子句和 HAVING 子句的區別,我們可以再通過一個案例理解一下。下面的 SQL 檢索具有兩個或以上產品且其價格大於等於 4 的供應商。
其中產品表如下:
SQL 語句如下:
運行結果:
截止目前,我們已經學了不少的 SELECT 子句,下面小魚針對目前我們已經學習的 SELECT 子句來總結一下他們在 SELECT 語句中的先後順序。
表中子句的排列順序即為它們在 SELECT 語句中依次出現的次序:
還是上面的例子,檢索具有兩個或以上產品且其價格大於等於 4 的供應商和其供應的產品數目,不過檢索檢索需要按照產品數目升序排列。
運行結果:
本節,我們學習了使用 GROUP BY 子句對多組數據進行匯總計算,並返回每個分組的結果。並實踐了如何使用 HAVING 子句過濾分組。
❾ SQL 分組統計 同欄位不同類型數據分別統計
這個意思?
selectsum(casewhenname1='1'thenmoneyelse0end)name1,
sum(casewhenname1='2'thenmoneyelse0end)name2,
sum(casewhenname1in('1','2')thenmoneyelse0end)money
fromtest1
不過你給的那結果不對吧?
❿ sql查詢分組怎麼做
select user_id
,sum(case when trade_type='4' then amount else 0 end) as trade_type4
,sum(case when trade_type='5' then amount else 0 end) as trade_type5
,sum(case when trade_type='11' then amount else 0 end) as trade_type11
,sum(case when trade_type='12' then amount else 0 end) as trade_type12
from tab_name
group by user_id