sql - 使用 SQL 查找缺失的行

标签 sql mysql postgresql

我有一个这样的 SQL 表

           name            | engins| frank 
---------------------------+-------+------
John Smith                 |   8422|  854

(1 rows)

并且需要进行查询,以便在 engins 超过 2000 时仅返回行 john smith

最佳答案

我会尝试这样的查询(PostgreSQL 8.4+)

WITH TT AS (
    SELECT start, stop, LAG(stop) OVER(ORDER BY stop ASC) AS lastStop
    FROM yourtable
)
SELECT lastStop as start, start as stop
FROM TT
WHERE lastStop <> start;

LAG() 从上一行中选择值。

关于sql - 使用 SQL 查找缺失的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4065077/

相关文章:

postgresql - plpgsql动态插入以表名作为变量和where子句中的数组变量

ruby-on-rails - 对每个请求持续运行的这两个奇怪的查询是什么?

mysql - 统计主管的员 worker 数

MySQL - 具有特定字符串的行到列

php - 来自 textarea 和 mysql 的换行符不会出现在 html 中

mysql - 帮助完成一个相当简单的 MySQL 查询

django - 从 Arduino 到 Django 数据库的 HTTP POST 数据

mysql - 如何在不在 SQL 中创建重复行的情况下进行更新?

php - 在其他表的帮助下选择 mySQL 数据

mysql数据库链表反规范化