Re: [SQL ] 加總前n筆資料的語法

看板Database作者 (可愛小孩子)時間12年前 (2013/10/04 13:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
select t3.Total from ( select sum(Unit) as Total, count(*) as Rank from Table t1,( select ID,Unit from Table order by Unit,ID ) t2 where (t1.Unit > t2.Unit) or (t1.Unit = t2.Unit and t1.ID >= t2.ID) group by t1.ID ) t3 where t3.Rank = 5 or t3.Rank = 10 or t3.Rank = 20 ps. 因為我不知道你的「依大小排序」是怎麼個排法 我目前是依照 Unit 由小到大排,如果 Unit 一樣的話再依 ID 由小到大排 然後要求幾個總和只要改紅色的條件式即可 ※ 引述《pttsasho (sasho)》之銘言: : 假設我有一Table : 裡面共有100列的資料,每列只有兩欄 ID、 Unit : 我希望可以依大小排序後,求得前5筆unit的總和、前10筆unit的總和、前20筆unit的總和 : 我知道可以用sum以及limit來處理 : 不過這樣的話 要求幾個總和 就要分幾次查詢 : 如果希望只下一次指令的話 : 目前知道的只有利用子查詢的方式進行 : 不曉得是否有其他方式可以完成呢? : 謝謝各位前輩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.170.27.133
文章代碼(AID): #1IJbFcAc (Database)
文章代碼(AID): #1IJbFcAc (Database)