看板 Database 關於我們 聯絡資訊
好久沒有研究囉 .. 看看以下的是不是符合囉,不過這種寫法通常比較慢喔 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