我从论坛中提取一些数据并用它来显示我网站上的评论。
第一行(帖子)可能来自虚拟用户名,但不是必须的。
示例:
id username post
-------------------------
9 dummy Hello World!
12 user hi!
...
OR
id username post
-------------------------
14 user1 hi!
19 user2 hello!
...
现在假设我想获得前十行/帖子,但如果它来自虚拟用户,则不应该检索第一行。虚拟用户可能会在稍后发布其他帖子,并且应该检索此类帖子(因此简单的WHERE username != 'dummy'
不会执行此操作)。
使用单个 SQL查询是否有一种简单的方法可以实现此目的?使用两个查询的解决方案显而易见。
谢谢!
答案 0 :(得分:2)
select * from posts
where id >= (
select id
from posts
where username <> 'dummy'
order by id asc
limit 1)
order by id asc
limit 10
从第一个非虚拟帖子开始,点击10个帖子