SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数
生活随笔
收集整理的這篇文章主要介紹了
SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
SQL:如何用一個sql統計出全校男生個數、女生個數以及總人數
?
?本文為轉載:?https://blog.csdn.net/wangjinsu7/article/details/52257150
情景:統計全校的男生、女生、以及總人數?
表結構如下:
- ?
方式一:分別查詢
SELECT COUNT(1)AS allcount FROM students ; SELECT COUNT(1)AS boycount FROM students WHERE sexID = 1; SELECT COUNT(1)AS girlcount FROM students WHERE sexID = 2;- ?
方式二:left join
SELECT a.allcount,b.boycount,c.girlcount FROM(SELECT COUNT(1)AS allcountFROM students)AS a LEFT JOIN(SELECT COUNT(1)AS boycountFROM studentsWHERE sexID = 1)b ON 1=1 LEFT JOIN(SELECT COUNT(1)AS girlcountFROM studentsWHERE sexID = 2)c ON 1=1- ?
方式三:使用dual
SELECT(SELECT COUNT(1)AS allcountFROM students)AS a,(SELECT COUNT(1)AS boycountFROM studentsWHERE sexID = 1)b,(SELECT COUNT(1)AS girlcountFROM studentsWHERE sexID = 2)c FROM DUAL- ?
方式四:使用group by
SELECT COUNT(1) FROM students GROUP BY sexID- ?
方式五:使用case when(mysql) 或 decode(oracle)
-- mysql: SELECT COUNT(1)AS allcount,SUM(CASE WHEN sexID=1 THEN 1 ELSE 0 END)AS boycount,SUM(CASE WHEN sexID=1 THEN 0 ELSE 1 END)AS girlcount FROM students-- oracle: SELECT COUNT(1)AS allcount,SUM(DECODE(sexID,1,1,0))AS boycount,SUM(DECODE(sexID,2,1,0))AS girlcount FROM students總結
以上是生活随笔為你收集整理的SQL:如何用一个sql统计出全校男生个数、女生个数以及总人数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用 bind 搭建DNS 服务器
- 下一篇: WIN10下怎么找到MYSQL5.7数据