Re: [SQL ] 語法請教

看板Database (資料庫)作者 (趴千)時間11年前 (2013/03/24 07:10), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串7/7 (看更多)
adxis有提到的row_number SELECT c1,c2 FROM ( SELECT *,ROW_NUMBER() OVER (PARTITION BY c1 ORDER BY c2 DESC) rn FROM table1 ) AS Der WHERE rn<=2 要考慮的的就是效能的點囉 ※ 引述《eplis (Eplis)》之銘言: : 想下sql語法查詢卻不知道該怎麼做 : 這邊想請各位前輩指導,不需要完整的指令 : 只求可能會用到或者可用的關鍵字即可 : 我的需求如下: : column1 column2 : A 112 : A 110 : A 105 : A 75 : B 23 : B 95 : B 45 : 我想要分別取出 A 和 B 的前2筆高的值, : 當然取前兩筆高的值我會先進行 order 再用 top 2 指令 : 只是分別以 A 和 B 這個動作我不知道該用甚麼語法,因為資料量龐大 : 所以不能以寫死 column='A' 這種方式.. : 我希望結果是 : A 112 : A 110 : B 95 : B 45 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.75.131.106

03/24 11:36, , 1F
沒用過這語法.. 受教XD
03/24 11:36, 1F

03/24 16:46, , 2F
相對 union 應該會好點,至少是 1 scan 只是 row_num 的實作
03/24 16:46, 2F

03/24 16:46, , 3F
我就不知道花費多高了
03/24 16:46, 3F

03/25 09:12, , 4F
這種語法都跟DB種類不同而不同~所以DB是那套呢
03/25 09:12, 4F

03/26 00:03, , 5F
上百萬筆的話應該會很慢
03/26 00:03, 5F
文章代碼(AID): #1HJZPym0 (Database)
討論串 (同標題文章)
本文引述了以下文章的的內容:
0
5
完整討論串 (本文為第 7 之 7 篇):
0
5
文章代碼(AID): #1HJZPym0 (Database)