首页 > 解决方案 > 在特定列值之后显示记录

问题描述

考虑我有一个表 TBL_AUD 并且它有一个列 UTYPE.UTYPE 可以有值提交、拒绝和批准。我想显示在 UTYPE=approve 之后输入的记录。这意味着当 UTYPE 列在任何行有“批准”时,我想在该行之后显示记录。请帮助我无法弥补我不太擅长 sql 的查询。

身份证 | UTYPE

像上面的这个例子我想要批准后的所有行

标签: mysqlsqlsubqueryknex.js

解决方案


您首先需要找到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);

您可能需要添加一些额外的条件,以使其完全符合您的要求,但是您的问题并不丰富,所以我无法添加这些。


推荐阅读