Re: [SQL ] 同個group取出前兩筆資料
假設 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
12/06 17:55, 1F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章