作者starjou (周星星)
看板Database
标题Re: [SQL ] 选取特定主键跟其下一笔之外的资料
时间Wed Jun 25 20:42:53 2008
※ 引述《JYHuang (夏天到了,冷不起来了说)》之铭言:
: ※ 引述《arrack (艾瑞克)》之铭言:
: : select news.* from news,
: : (select id from news where id=10 order by id limit 1 ) as a ,
: : (select id from news where id>10 order by id limit 1 ) as b
: : where news.id<>a.id and news.id<>b.id order by news.id
: : 但是我只能说 效能惨不睹:)
: 感谢arrack版友的帮忙测试
: 我看我还是认份点,分两次来取好了 = ="
: 不然要是遇到排除的笔数更多时....铁定是惨上加惨
: 把排除的跟全部的都取出,再做差集..
这样呢?
SELECT A.id FROM news AS A LEFT JOIN
(SELECT id FROM news WHERE id >= 10 ORDER BY id LIMIT 2) AS B
ON A.id = B.id WHERE B.id IS NULL
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.81.198.75
1F:推 JYHuang:喔喔喔~~解答出现了 06/25 21:01
2F:推 JYHuang:感谢starjou的解答 06/25 21:06
3F:推 arrack:-.- 原本的语法 就少了那句XD isnull 06/26 00:50
4F:→ starjou:没有用 LEFT JOIN 的话不会出现 NULL 的状况哦 06/26 01:21
5F:→ starjou:发现不用等个两百多秒的办法了,登出再登入,不过好累 0rz 06/26 01:22
6F:推 arrack:XD 06/26 11:10