我在执行此任务的SQL查询中陷入困境
如果我在包含值2之后获取所有字段,而在值2之前忽略
例如这样的
id profile_id status
1 1 3
2 1 3
3 1 2
4 1 1
5 1 1
以及当我尝试这样的结果时,显示所有不包含2的值
SELECT * FROM `users` WHERE `status` <> 2
id profile_id status
1 1 3
2 1 3
4 1 1
5 1 1
我尝试这样的代码子查询
SELECT *
FROM `users`
WHERE `users`.status != (
SELECT us.status
FROM `users` us
WHERE us.status = 2 LIMIT 1)
结果显示如下
id profile_id status
1 1 3
2 1 3
4 1 1
5 1 1
我应该期望结果是这样,仅在status = 2之后显示所有字段
id profile_id status
4 1 1
5 1 1
感谢您的帮助
答案 0 :(得分:1)
请尝试以下查询:
SELECT *
FROM `users`
WHERE id > (
SELECT id
FROM `users`
WHERE status = 2
)