Re: [SQL ] 同個group取出前兩筆資料

看板Database (資料庫)作者 (可愛小孩子)時間8年前 (2016/12/06 16:09), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
假設 table 如下,要撈出同 ID 下前兩筆(key 由小大到) ID KEY --------- 123 key1 123 key2 123 key3 456 key4 456 key5 456 key6 解答: select ID,KEY from ( select *,row_number() over (partition by ID order by KEY) as num ) ) t1 where num <= 2 ※ 引述《hungwei0331 (Game)》之銘言: : 資料庫名稱:sql server : 內容/問題描述: : 期望同個group取出前兩筆 : 假設有多筆資料 : pkey1 123 : pkey2 123 : pkey3 123 : pkey4 456 : pkey5 456 : pkey6 456 : 使用group by 後想要只取出前兩筆資料如下 : pkey1 123 : pkey2 123 : pkey4 456 : pkey5 456 : 目前使用過子查詢並且將連結中範例改為select top 2 : 連結如下, : https://goo.gl/DVLvjw : 但會有錯誤訊息提示子查詢不可回傳多筆資料 : 還請前輩們開示與提點 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.233.210 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1481011791.A.816.html

12/06 17:55, , 1F
非原PO~但感謝分享~小弟的寫法習慣是拆開丟暫存....
12/06 17:55, 1F
文章代碼(AID): #1OHd9FWM (Database)
文章代碼(AID): #1OHd9FWM (Database)