作者windknife18 (windknife18)
看板Database
標題Re: [SQL ] select-in 與 limit的問題
時間Thu Oct 22 13:49:58 2009
好久沒有研究囉 .. 看看以下的是不是符合囉,不過這種寫法通常比較慢喔
select * from article a where a.fid = 0 and 3 > ( select count(*) from
article b where a.fid =b.fid and a.type = b.type and a.id > b.id);
※ 引述《philgood (感覺好)》之銘言:
: 小弟我用的是mysql 但遲遲沒辦法突破這個query
: 我手上有一個文章的資料表 叫作 article
: id fid type name
: 1 0 1 a
: 2 0 1 b
: 3 0 1 c
: 4 0 1 d
: 5 0 2 e
: 6 0 2 f
: 7 0 2 g
: 8 0 3 h
: 9 0 3 i
: 10 0 3 j
: 11 0 3 k
: 12 1 4 l
: 13 1 4 m
: 基本上,會依照type分群組,
: 那目前可以看到type有1 2 3 4 總共4個分類。
: 那我今天想作一個頁面,他會根據fid取出所有子分類,
: 並取出該分類底下的前3項資料,今天先預設fid為0。
: 所以他取出來的type 應該是1.2.3
: 而id 應該是從1到10
: 我想問說 有沒有辦法根據類別去取出最多3項的資料
: 也就是不要第4筆。
: 我目前只寫到下面這個query而已 就不知道怎麼繼續了...
: SELECT *
: FROM article
: WHERE type IN (select distinct type from article where fid=0)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.131.84.1
→ windknife18:慢是說比原來的慢,如果有使用key的話,應該是還好 10/22 15:12
推 slalala:如果資料上萬 科 科 科 10/25 10:59