⑴ sql分組語句
你的意思是 以 x1 為條件 查 欄位2 吧? 這和分組有關嗎?
按我的理解是這樣的
select 欄位2 欄位3 from tablename where 欄位3=x1
結果
B1 X1
B2 X1
B3 X1
⑵ SQL如何實現多組成績的分組
select 課程號, max(成績) 最高成績,min(成績) 最低成績 from table group by 課程號
⑶ sql分組統計
方法和詳細的操作步驟如下:
1、第一步,創建一個測試表,詳細代碼見下圖,轉到下面的步驟。
⑷ SQL語句中分組的作用是什麼
聚合函數:sum-求和
avg-求平均值
max-求最大值
min-求最小值
count-求記錄數
當使用這些函數時,如果不使用group by (分組)這句,則是對整個表做運算。加上分組子句,則在每個組的基礎上運算。
⑸ SQL如何根據分數進行分組
select成績,
casewhen成績>=90then'A'when成績>=80then'B'when成績>=70then'C'else'D'endas`group`
from表;
Case具有兩種格式。簡單Case函數和Case搜索函數。
--簡單Case函數
CASEsexWHEN'1'THEN'男'WHEN'2'THEN'女'ELSE'其他'END
--Case搜索函數
CASEWHENsex='1'THEN'男'WHENsex='2'THEN'女'ELSE'其他'END
該例中即可採用case搜索函數
⑹ SQL 分組
select
學生編號,學生姓名,sum(分數)
as
總分數
from
student
group
by
學生編號,學生姓名
學生編號分組放在姓名前面
這樣即使姓名一樣
但是學號不一樣
還是2條值!~
⑺ sql分組查詢
select 品名,時間 ,sum(數量),sum(數量1) from table group by 時間,品名
⑻ sql 分組統計
--SQL SERVER 2000 動態SQL。
declare @sql varchar(8000)
set @sql = 'select 姓名 '
select @sql = @sql + ' , max(case 課程 when ''' + 課程 + ''' then 分數 else 0 end) [' + 課程 + ']'
from (select distinct 課程 from tb) as a
set @sql = @sql + ' , cast(avg(分數*1.0) as decimal(18,2)) 平均分 , sum(分數) 總分 from tb group by 姓名'
exec(@sql)
普通行列轉換
問題:假設有張學生成績表(tb)如下:
姓名 課程 分數
張三 語文 74
張三 數學 83
張三 物理 93
李四 語文 74
李四 數學 84
李四 物理 94
想變成(得到如下結果):
姓名 語文 數學 物理
---- ---- ---- ----
李四 74 84 94
張三 74 83 93
-------------------
*/
create table tb(姓名 varchar(10) , 課程 varchar(10) , 分數 int)
insert into tb values('張三' , '語文' , 74)
insert into tb values('張三' , '數學' , 83)
insert into tb values('張三' , '物理' , 93)
insert into tb values('李四' , '語文' , 74)
insert into tb values('李四' , '數學' , 84)
insert into tb values('李四' , '物理' , 94)
go
--SQL SERVER 2000 靜態SQL,指課程只有語文、數學、物理這三門課程。(以下同)
select 姓名 as 姓名 ,
max(case 課程 when '語文' then 分數 else 0 end) 語文,
max(case 課程 when '數學' then 分數 else 0 end) 數學,
max(case 課程 when '物理' then 分數 else 0 end) 物理
from tb
group by 姓名
⑼ SQL語句分組怎麼寫
1.如果你的時間格式是2012-01-13 17:35:52.217這樣的形式,(主要是那個01不要是1),用下面這個 SELECT convert(varchar(10),時間,23),SUM(數字數據) FROM 表 group by convert(varchar(10),時間,23) 2.如果你的時間格式不是上面的格式,先轉化成datetime: SELECT convert(varchar(10),cast(時間 as datetime),23) ,SUM(數字數據) FROM 表 group by convert(varchar(10),cast(時間 as datetime),23) 3.如果報錯,請追問~
⑽ sql語句 如何分組後得到記錄總數
SELECT COUNT(*)
FROM (SELECT 分組欄位 FROM 表
GROUP BY 分組欄位
)別名
或者
SELECT COUNT(*)
FROM (SELECT distinct 分組欄位 FROM 表)別名
(10)sql分組擴展閱讀:
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 後面