㈠ sql:group by
你用多個group by 不就行了,首先一個一個語句寫 不要想著一下就完成它,比如第一條語句就根據1分組就行了,一次類推。 求和使用聚合函數sum()就行了 ,把思路弄清,慢慢寫 就行了
㈡ sql group by用法
1. select top 1 姓名,sum(分數) as 分數總和 from 表名 group by 姓名
order by 分數總和 desc
2. select 姓名 from 表名 group by 姓名 having min(分數)>90
測試通過
㈢ sql group by
加上顯示的列,不加上avg/max聚合結果
select id_a,data_a,b.name_b,c.name_c,c.type_c from table_a a
left join (select id_b,data_b,name_b from table_b) b on a.id_a =b.id_b
left join (select id_c,data_c,type_c from table_c) c on a.id_a=c.id_c
group by id_a,data_a,b.name_b,c.name_c,c.type_c
㈣ SQL中GROUP BY的用法
GROUP
BY
是分組查詢,
一般
GROUP
BY
是和
聚合函數配合使用,你可以想想
你用了GROUP
BY
按
ITEM.ITEMNUM
這個欄位分組,那其他欄位內容不同,變成一對多又改如何顯示呢,比如下面所示
A
B
1
abc
1
bcd
1
asdfg
select
A,B
from
table
group
by
A
你說這樣查出來是什麼結果,
A
B
abc
1
bcd
asdfg
右邊3條如何變成一條,所以需要用到聚合函數,比如
select
A,count(B)
數量
from
table
group
by
A
這樣的結果就是
A
數量
1
3
group
by
有一個原則,就是
select
後面的所有列中,沒有使用聚合函數的列,必須出現在
group
by
後面
㈤ sql里group by怎麼用
SQL GROUP BY 語句
----------
合計函數 (比如 SUM) 常常需要添加 GROUP BY 語句。
----------
GROUP BY 語句用於結合合計函數,根據一個或多個列對結果集進行分組。
語法
SELECTcolumn_name,aggregate_function(column_name)
FROMtable_name
WHEREcolumn_nameoperatorvalue
GROUPBYcolumn_name
㈥ sql里group的用法
在select 語句中可以使用group by 子句將行劃分成較小的組,然後,使用聚組函數返回每一個組的匯總信息,另外,可以使用having子句限制返回的結果集。group by 子句可以將查詢結果分組,並返回行的匯總信息Oracle 按照group by 子句中指定的表達式的值分組查詢結果。
在帶有group by 子句的查詢語句中,在select 列表中指定的列要麼是group by 子句中指定的列,要麼包含聚組函數
select max(sal),job emp group by job;
(注意max(sal),job的job並非一定要出現,但有意義)
查詢語句的select 和group by ,having 子句是聚組函數唯一出現的地方,在where 子句中不能使用聚組函數。
select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno;
當在gropu by 子句中使用having 子句時,查詢結果中只返回滿足having條件的組。在一個sql語句中可以有where子句和having子句。having 與where 子句類似,均用於設置限定條件
where 子句的作用是在對查詢結果進行分組前,將不符合where條件的行去掉,即在分組之前過濾數據,條件中不能包含聚組函數,使用where條件顯示特定的行。
having 子句的作用是篩選滿足條件的組,即在分組之後過濾數據,條件中經常包含聚組函數,使用having 條件顯示特定的組,也可以使用多個分組標准進行分組。
查詢每個部門的每種職位的雇員數
select deptno,job,count(*) from emp group by deptno,job;
㈦ SQL中Group By 用法是什麼
GROUP BY 是分組查詢, 一般 GROUP BY 是和 聚合函數配合使用,你可以想想
你用了GROUP BY 按 ITEM.ITEMNUM 這個欄位分組,那其他欄位內容不同,變成一對多又改如何顯示呢,比如下面所示
A B
1 abc
1 bcd
1 asdfg
select A,B from table group by A
你說這樣查出來是什麼結果,
A B
abc
1 bcd
asdfg
右邊3條如何變成一條,所以需要用到聚合函數,比如
select A,count(B) 數量 from table group by A
這樣的結果就是
A 數量
1 3
group by 有一個原則,就是 select 後面的所有列中,沒有使用聚合函數的列,必須出現在 group by 後面
㈧ sql中group by 是什麼意思啊請教謝謝
一般是從來對一些集合函數進行分組的。
例如
select count(UserId),UserClass from USERINFO group by userClass
這個語句就可以得到每個班級的人數
㈨ sql語句中的group by要怎麼用!!
1、定義
「Group
By」表達的意思就是按照「By」表明的規則對所有數據進行歸類,所謂的歸類就是將數據分成許多個「小區域」,對這些「小區域」里的數據進行處理。
2、原始表
3、簡單Group
By
示例1
select
類別,
sum(數量)
as
數量之和
from
A
group
by
類別
返回結果如下表,實際上就是分類匯總。
4、Group
By
和
Order
By
示例2
select
類別,
sum(數量)
AS
數量之和
from
A
group
by
類別
order
by
sum(數量)
desc
返回結果如下表
在Access中不可以使用「order
by
數量之和
desc」,但在SQL
Server中則可以。
5、Group
By中Select指定的欄位限制
示例3
select
類別,
sum(數量)
as
數量之和,
摘要
from
A
group
by
類別
order
by
類別
desc
示例3執行後會提示下錯誤,如下圖。這就是需要注意的一點,在select指定的欄位要麼就要包含在Group
By語句的後面,作為分組的依據;要麼就要被包含在聚合函數中。
6、Group
By
All
示例4
select
類別,
摘要,
sum(數量)
as
數量之和
from
A
group
by
all
類別,
摘要
示例4中則可以指定「摘要」欄位,其原因在於「多列分組」中包含了「摘要欄位」,其執行結果如下表
「多列分組」實際上就是就是按照多列(類別+摘要)合並後的值進行分組,示例4中可以看到「a,
a2001,
13」為「a,
a2001,
11」和「a,
a2001,
2」兩條記錄的合並。
7、Having與Where的區別
where
子句的作用是在對查詢結果進行分組前,將不符合where條件的行去掉,即在分組之前過濾數據,where條件中不能包含聚組函數,使用where條件過濾出特定的行。
having
子句的作用是篩選滿足條件的組,即在分組之後過濾數據,條件中經常包含聚組函數,使用having
條件過濾出特定的組,也可以使用多個分組標准進行分組。
示例5
select
類別,
sum(數量)
as
數量之和
from
A
group
by
類別
having
sum(數量)
>
18
示例6:Having和Where的聯合使用方法
select
類別,
SUM(數量)from
A
where
數量
gt;8
group
by
類別
having
SUM(數量)
gt;
10
8、Compute
和
Compute
By
select
*
from
A
where
數量
>
8
執行結果:
示例7:Compute
select
*
from
A
where
數量>8
compute
max(數量),min(數量),avg(數量)
執行結果如下:
compute子句能夠觀察「查詢結果」的數據細節或統計各列數據(如例10中max、min和avg),返回結果由select列表和compute統計結果組成。
示例8:Compute
By
select
*
from
A
where
數量>8
order
by
類別
compute
max(數量),min(數量),avg(數量)
by
類別
執行結果如下:
示例8與示例7相比多了「order
by
類別」和「...
by
類別」,示例10的執行結果實際是按照分組(a、b、c)進行了顯示,每組都是由改組數據列表和改組數統計結果組成.
㈩ sql中關於group by
當id沒有重復的時候,你這個語句和select * from table1 是一樣的,當id有重復的,你的語句的含意是對重復的id只返回一行,就是unitprice最大的一行