mysql - 在 column == 0 的最后一行之后选择 column > 0 的行
问题描述
2021 年编辑:我想更好地解释这一点。
我有一个MyTable
用两列命名的表;一列名为SortColumn
type Integer
,一列名为ExpressionColumn
type Boolean
。我想在最后一行之后获取所有行,按升序SortColumn
排序。
类型不准确。ExpressionColumn
True
例如。表中的行表示为[SortColumn,ExpressionColumn]
,[0:True]
将获得[0:True]
,[0:True, 1:False]
将获得[]
,[0:True, 1:False, 2:True, 3:True]
将获得[3:True, 4:True]
。
将旧问题留在下面,以免使给定答案无效。它有太多额外的细节。
我想选择列为 0 的最后一行之后的行Number
。
所以有了这张表,
Id | Number
------------
0 | 5
1 | 30
2 | 10
3 | 25
我想获得包含Id
0 到 3 的行。
有了这张桌子,
Id | Number
------------
0 | 5
1 | 30
2 | 10
3 | 25
4 | 0
我根本不想得到任何行。
有了这张桌子,
Id | Number
------------
0 | 5
1 | 30
2 | 10
3 | 25
4 | 0
5 | 0
6 | 30
我想排Id
6。
SQL 详细信息:MySQL 5.6。
解决方案
检索单独的记录:
SELECT *
FROM transaction t1
WHERE Name LIKE '%Car Wash%'
AND NOT EXISTS ( SELECT NULL
FROM transaction
WHERE t1.id <= id
AND Name LIKE '%Car Wash%' -- maybe not needed? not specified
AND Price = 0 );
仅检索其数量:
SELECT COUNT(*)
FROM transaction t1
WHERE Name LIKE '%Car Wash%'
AND NOT EXISTS ( SELECT NULL
FROM transaction
WHERE t1.id <= id
AND Name LIKE '%Car Wash%'
AND Price = 0 );
推荐阅读
- google-cloud-platform - 在谷歌云中映射流量的最佳方法
- java - 二维数组工作,越界错误,for循环,
- vue.js - 在我使用 nuxt-property-decorator 的 nuxtjs 中添加动态元标记时遇到问题
- typescript - 在执行 npm run build 时遇到此错误
- jquery - Jquery 验证检查数组中的值是否按照显示 jquery 错误消息显示错误
- javascript - 检查特定主题的类别中的每个频道
- r - 尝试在两列中保留非重复值时如何在R中使用数据框的条件过滤
- vb.net - 自定义对象的问题
- javascript - React useState hook,用函数调用 setState
- django - Django搜索分页错误,每次我尝试移动到第2页时找不到页面错误