台灣最大程式設計社群網站
線上人數
1835
 
會員總數:245964
討論主題:189547
歡迎您免費加入會員
討論區列表 >> MySQL >> 找特定名字 列出 他名字 全部科目項目 分數 及 當科總名次 及全部科目總分數
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
找特定名字 列出 他名字 全部科目項目 分數 及 當科總名次 及全部科目總分數
價值 : 100 QP  點閱數:535 回應數:2
樓主

Rose
門外漢
0 1
34 1
發送站內信

在網路上找到的範例,這是列出
特定名字 及 特定科目 分數 當科總名次:

booktable(資料表)
欄位
name(名字) subject(科目)(科目有 科目1~科目20) score(分數)
select name,subject,score,(select count(*) from booktable t1 where subject ='科目1' and t1.score > t2.score)+1 as 名次 from booktable t2 where subject='科目1' and name = '李四' order by score DESC;

執行後顯示如下:
name subject score 名次
---------------------------
李四 科目1 10 3

我想要列出
特定名字 全部科目項目 分數 及 當科總名次 及全部科目加起來的總分數
跟範例差別在於我想要找的是 列出 全部科目項目 及各科的總名次 及全部總分
執行後顯示如下:
name subject score 名次 全部科目加起來的總分數
----------------------------------------------------
李四 科目1 10 3 xx
李四 科目2 5 7
李四 科目3 4 4
李四 科目4 7 3
李四 科目5 8 5
李四 科目6 3 3
李四 科目7 7 8
李四 科目8 5 4
李四 科目9 9 9
李四 科目10 2 6

李四 科目20 6 8
科目不想要使用subject ='科目1'subject ='科目2'subject ='科目3'去特定尋找 直接列出有分數的科目既可
請問該如何寫?先感謝各位了




搜尋相關Tags的文章: [ 科目名次 ] ,
本篇文章發表於2020-03-02 16:53
1樓
最有價值解答

老頑童
捐贈 VP 給 老頑童 檢舉此回應
要列出所有科目,就把名次中的subject ='科目1'改成t1.subject = t2.subject
然後where條件的subject='科目1'拿掉,就會顯示所有科目了
至於加總, 可用SUM()函數,例
(select sum(score) from booktable t3 where t2.name = t3.name) as 媲分數
本篇文章回覆於2020-03-03 14:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Rose
檢舉此回應
非常感謝,已解決我的問題,看來還是要再多多研習相關基礎 謝謝
本篇文章回覆於2020-03-03 17:28
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.