To pengdali(大力 V2.0) 你好:问题就出在这里 假设我要的不是 > 80 分 而是去选择一个等级值 要得到如下结果-- 0-59 60-70 71-90 91-100 班级 性别 人数 不及格人数 及格人数 良好人数 优秀人数001班 男 32 5 3 2 6 001班 女 20 2 8 3 5 002班 男 18 1 5 5 5 002班 女 30 3 3 3 3 我原来就是这样选择的 SELECT BH,XB, COUNT(XB), (SELECT COUNT(XB) FROM XSXX WHERE SF>0 AND SF<=59 GROUP BY BH,XB ) AS BJG (SELECT COUNT(XB) FROM XSXX WHERE SF>60 AND SF<=70 GROUP BY BH,XB ) AS JG ............... FROM XSXX GROPU BY BH,XB 这样写 显然也不行 请问我又该怎么写呢?
SELECT BH,XB, COUNT(XB), sum(case when SF between 0 and 59 then 1 else 0 end) 不及格人数, sum(case when SF between 69 and 70 then 1 else 0 end) 及格人数, sum(case when SF between 71 and 90 then 1 else 0 end) 良好人数, sum(case when SF between 91 and 100 then 1 else 0 end) 优秀人数 FROM XSXX GROUp BY BH,XB
TO pengdali(大力 V2.0) 你好 我还有点想不通 你为什么不用 SF>60 AND SF<=70 而用 SF between 60 and 70
按你题目上的是 大于等于60的和小于等于79为一等级 既: SF>=60 AND SF<=70 而用 SF between 60 and 70是相当于这个的
to pengdali(大力 V2.0) 你好 你也解决了我的问题,谢谢 交个朋友好吗? 另:ASP.NET
班级 性别 人数 不及格人数 及格人数 良好人数 优秀人数001班 男 32 5 3 2 6
001班 女 20 2 8 3 5
002班 男 18 1 5 5 5
002班 女 30 3 3 3 3 我原来就是这样选择的
SELECT BH,XB, COUNT(XB),
(SELECT COUNT(XB) FROM XSXX WHERE SF>0 AND SF<=59 GROUP BY BH,XB ) AS BJG
(SELECT COUNT(XB) FROM XSXX WHERE SF>60 AND SF<=70 GROUP BY BH,XB ) AS JG
...............
FROM XSXX GROPU BY BH,XB
这样写 显然也不行 请问我又该怎么写呢?
sum(case when SF between 0 and 59 then 1 else 0 end) 不及格人数,
sum(case when SF between 69 and 70 then 1 else 0 end) 及格人数,
sum(case when SF between 71 and 90 then 1 else 0 end) 良好人数,
sum(case when SF between 91 and 100 then 1 else 0 end) 优秀人数
FROM XSXX GROUp BY BH,XB
我还有点想不通 你为什么不用 SF>60 AND SF<=70 而用 SF between 60 and 70
既:
SF>=60 AND SF<=70
而用
SF between 60 and 70是相当于这个的
你也解决了我的问题,谢谢
交个朋友好吗?
另:ASP.NET
[email protected]