mysql - 在特定列值之后显示记录
问题描述
考虑我有一个表 TBL_AUD 并且它有一个列 UTYPE.UTYPE 可以有值提交、拒绝和批准。我想显示在 UTYPE=approve 之后输入的记录。这意味着当 UTYPE 列在任何行有“批准”时,我想在该行之后显示记录。请帮助我无法弥补我不太擅长 sql 的查询。
身份证 | UTYPE
- 1 | 提交
- 2 | 拒绝
- 3 | 批准
- 4 | 提交
- 5 | 拒绝
像上面的这个例子我想要批准后的所有行
解决方案
您首先需要找到ID
要显示所有记录的记录。这是一个简单的查询:
SELECT ID
FROM TBL_AUD
WHERE UTYPE = 'approve'
ORDER BY ID
LIMIT 1;
之后,您可以将此查询用作子查询来查找记录。让我们调用上面的查询SubQuery
。搜索查询将变为:
SELECT *
FROM TBL_AUD
WHERE ID > (SubQuery);
或者,完整地写出来:
SELECT *
FROM TBL_AUD
WHERE ID > (SELECT ID
FROM TBL_AUD
WHERE UTYPE = 'approve'
ORDER BY ID
LIMIT 1);
您可能需要添加一些额外的条件,以使其完全符合您的要求,但是您的问题并不丰富,所以我无法添加这些。
推荐阅读
- css - React 组件没有拾取 CSS 文件
- node.js - debain 10 上的 systemd 服务文件不适用于 nodejs
- gstreamer - GStreamer:来自 osxaudiosrc 的输入,超过 8 个通道
- highcharts - 使用 HighCharts 在时间序列 LineChart 中显示开始和结束日期范围
- python - QMainWindow.__init__(self)
- java - 自定义 ListView 仅显示 Cursor 中的一项
- python - Flask Sqlalchemy 按关系计数排序
- visual-studio-2019 - Visual Studio 2019 v16.11 更新失败:访问被拒绝
- git - 使用 git 推送时将“终端”重定向到“标准输入”
- r - rval[i, j, drop = drop., ...] 中的错误:下标越界 - Eventstudy 包