mysql - 如何在包含在sql中的位置之后获取所有值
问题描述
我被困在这个任务的 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
谢谢你的帮助
解决方案
试试下面的查询:
SELECT *
FROM `users`
WHERE id > (
SELECT id
FROM `users`
WHERE status = 2
)
推荐阅读
- c - 在数组中查找 NOT 整数的第一个实例
- angular - 角度嵌套表问题?
- javascript - 在特定条件下删除特定字符串部分的算法
- ios - 如何以编程方式将输入的登录(电子邮件)详细信息传递给另一个 ViewController?
- c++ - 它可能与 GL_LINE_LOOP(小行星)对象和点对象(子弹)发生碰撞?
- delphi - Delphi VCL表单箭头键管理解决方案触发两次
- sparql - 模棱两可的“替代标签”分隔符
- python - 将键的字典和键内的字典列表保存到按行存储字典的 JSON
- mysql - MySQL 查找 count() 行的平均值
- sql-server - 有没有办法使用子查询列值更新 xml 列?