❶ 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語句實現分組統計
方法和詳細的操作步驟如下:
1、第一步,創建一個測試表,詳細代碼見下圖,轉到下面的步驟。
❸ SQL 分組語句求解:
您的回答會被數十乃至數萬的網友學習和參考,所以請一定對自己的回答負責,盡可能保障您的回答准確、詳細和有效表1(已有數據)——進貨表name, buycount
apple 1200
banana 200
表2(已有數據) ——訂單表
name, needdate, needcount
apple 2000-1-1 200
apple 2000-1-2 300
banana 2000-1-1 300
banana 2000-1-2 500
banana 2000-1-3 400
表3(當前數據)——訂單需求餘量表
name needdate, havecount, needcount
apple 2000-1-1 50 150
banana null 200 0 (needdate為null表明上次有結余)
要求:
每次采購後,用SQL語句根據訂單需求表將數據沖入訂單需求餘量表。
沖入標准:
先將每種水果沖入日期早的訂單,訂單充滿後再沖入下一日期的訂單,依此循環
如果購買數大於所有訂單總需求,那麼表明購買多了,多的數沖入餘量表後needdate為null表明為上次購買結余,下次購買水果後可使用該數量繼續沖訂單。
SQL執行後表3結果如下:
表3(沖數結果)
name needdate, havecount, needcount
apple 2000-1-1 200 0
apple 2000-1-2 300 0
apple null 700 0 --購買1200,沖入第一單200,第二單300,結餘700
banana 2000-1-1 300 0 --上次結餘200+本次購買200沖入第一單300,第二單100
banana 2000-1-2 100 400
banana 2000-1-3 0 400結果表寫錯了,apple應該結餘750
SQL執行後表3結果如下:
表3(沖數結果)
name needdate, havecount, needcount
apple 2000-1-1 200 0
apple 2000-1-2 300 0
apple null 750 0 --購買1200,沖入第一單150(原來已經存在50),第二單300,結餘750
banana 2000-1-1 300 0 --上次結餘200+本次購買200沖入第一單300,第二單100
banana 2000-1-2 100 400
banana 2000-1-3 0 400可以自定義
❹ sql 分組子查詢怎麼寫
你的意思是不是「找出所有status欄位不是OK的BarCode,然後顯示找到的這些BarCode對應的所有的記錄」
比如:某個BarCode有三條記錄,這三條記錄中有一條status不是OK,那麼就顯示這三條記錄;另一個BarCode有亮條記錄,他們的status狀態都是OK,那麼就不顯示。是這個意思不是。
如果是那麼不需要分組,直接子查詢就可以。
子查詢的內容是查詢status!='OK'(因為不知道是不是只有NG一種不OK的狀態所以用了「不等於」,具體的要根據業務情況來定)的BarCode。
外層就是利用子查詢查到的BarCode去查詢就可以了,可以直接用in或者exist都可以。
比如某個編號為1111的有三條數據,其中有一條的status不是ok,那麼子查詢就會找到這條不是ok的記錄,並返回編號1111,外層查詢在利用編號1111,查到全部的三條記錄。
❺ 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對查詢結果進行分組
如果你的UID是int型先進行轉換,然後截取前兩位,在用聚合函數獲取總數,進行分組查詢就好了,語句如下(把表名替換下可以直接用):select SUBSTRING(CONVERT(varchar(50),UID),0,3),COUNT(*) from 表 group by SUBSTRING(CONVERT(varchar(50),UID),0,3)
❼ sql如何分組查詢單表,並顯示所有分組數據
selectclass,id,no,namefromAgroupbyclass,id,no,name;
//分組函數有:
max()
min()
sum()
count()
avg()
例如:select max(ename) as,class fromAgroupbyclass
❽ SQL如何實現多組成績的分組
select 課程號, max(成績) 最高成績,min(成績) 最低成績 from table group by 課程號
❾ SQL 按兩個欄位分組
selectMODELNO,COLORfrom表名groupbyMODELNO,COLOR
表名換下
這樣能分組
但是你可能還有別的東西要做吧,這樣只是把組分了呀
❿ 使用SQL語句進行表連接後再分組該怎麼寫呢
select stuinfo.學號,stuinfo.姓名,avg(grade.分數)as 平均成績 from stuinfo,grade where stuinfo.學號=grade.學號
group by stuinfo.學號,stuinfo.姓名