作者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
1F:→ windknife18:慢是说比原来的慢,如果有使用key的话,应该是还好 10/22 15:12
2F:推 slalala:如果资料上万 科 科 科 10/25 10:59