一句SQL查詢沒門課程都低於80分的學生信息


#建表  T

CREATE TABLE T (
   NAME VARCHAR(200),
   kecheng VARCHAR(200),
   fenshu INT  
 )

#導入數據
name   kecheng    fenshu 
張三     語文     81
張三     數學     75
李四     語文     76
李四     數學     90
王五     語文     81
王五     數學     100
王五     英語     90

# 查詢沒門課程大於80分的學生信息

#逆向思維方式

SELECT name
FROM t
GROUP BY name
Having MIN(fenshu)>=80

#正常方式 SELECT DISTINCT name FROM t WHERE name not in( SELECT Distinct name FROM t WHERE fenshu <80)

#一句SQL查出所有課程成績最高和最低的學生及其分數

SELECT "最高分",t.*  
FROM t ,(SELECT MAX(fenshu) AS fenshu,`kecheng` FROM t GROUP BY `kecheng`)b  
WHERE t.`fenshu` = b.fenshu  
AND t.`kecheng` = b.kecheng  
UNION  
SELECT "最低分",t.*  
FROM t ,(SELECT MIN(fenshu) AS fenshu,`kecheng` FROM t GROUP BY `kecheng`)b  
WHERE t.`fenshu` = b.fenshu  
AND t.`kecheng` = b.kecheng; 

  

#求平均分數,總成績

SELECT NAME ,SUM(fenshu),AVG(fenshu)
FROM t 
GROUP BY kecheng

  

參考鏈接:http://blog.csdn.net/caiandyong/article/details/52383923

                  http://www.cnblogs.com/hongyan5682/p/4816444.html

       歡迎評論交流。感謝分享!!!

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM