JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » JDBC/SQL討論區 » SQL 語法  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
作者 不同條件的count,avg怎麼做?
YCY





發文: 3
積分: 0
於 2016-09-29 12:33 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
遇到這題不知道怎麼做?
班級 科目 分數 座號
A 數學 58 1
A 國文 88 1
A 國文 75 2
A 國文 33 3
A 數學 59 2
A 國文 99 3
A 數學 52 4
B 數學 65 1
B 國文 15 1

請用SQL語法做出這種表格 值還要對 資料只能有A班

A班 不及格人數 及格人數 不及格者平均分數 及格者平均分數
數學
國文

下意識我想用COUNT和AVG做
可是寫到WHERE發現好像沒辦法做那麼多次判斷
估狗有COUNT和AVG的範例 可是沒有判斷那麼多的例子?
(畫面不知怎樣跑掉了 原題目學生更多 我是簡化打出的)


YCY edited on 2016-09-29 12:36
reply to postreply to post
作者 Re:不同條件的count,avg怎麼做? [Re:YCY]
kentyeh





發文: 644
積分: 6
於 2016-09-29 13:13 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
給你參考
1
2
3
4
5
6
SELECT 班級, 科目,COUNT(CASE WHEN 分數<60 THEN 1 ELSE 0 END) as  "不及格人數",
.... as  "及格人數",
SUM(CASE WHEN 分數<60 THEN 分數 ELSE 0 END)/COUNT(CASE WHEN 分數<60 THEN 1 ELSE 0 END) as "不及格者平均分數",
.... as "及格者平均分數"
FROM 你的作業
GROUP BY 班級, 科目


reply to postreply to post
作者 Re:不同條件的count,avg怎麼做? [Re:kentyeh]
YCY





發文: 3
積分: 0
於 2016-09-30 11:59 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
kentyeh wrote:
給你參考
1
2
3
4
5
6
SELECT 班級, 科目,COUNT(CASE WHEN 分數<60 THEN 1 ELSE 0 END) as  "不及格人數",
.... as  "及格人數",
SUM(CASE WHEN 分數<60 THEN 分數 ELSE 0 END)/COUNT(CASE WHEN 分數<60 THEN 1 ELSE 0 END) as "不及格者平均分數",
.... as "及格者平均分數"
FROM 你的作業
GROUP BY 班級, 科目



這樣不是會顯示"班級"嗎?
求表中"班級"是直接變成"A班"
科目是直向的欄位不是直接在橫的欄位 及格人數等才是橫的
A班 及格人數 . . ..
數學
英文


reply to postreply to post
作者 Re:不同條件的count,avg怎麼做? [Re:YCY]
kentyeh





發文: 644
積分: 6
於 2016-09-30 12:36 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
你不會用WHERE criteria 限制班級?不想要班級不會拿掉?
YCY wrote:
這樣不是會顯示"班級"嗎?
求表中"班級"是直接變成"A班"
科目是直向的欄位不是直接在橫的欄位 及格人數等才是橫的
A班 及格人數 . . ..
數學
英文


reply to postreply to post
» JWorld@TW »  JDBC/SQL討論區 » SQL 語法

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8