sql 查找列停止递增的行

标签 sql sql-server sql-server-2008

我有一个与此类似的表格。

creation_time           po_S            count_out_I
2012-08-03 02:45:02.133 000002029382    15974
2012-08-03 02:48:02.083 000002029382    9475
2012-08-03 02:51:02.097 000002029382    15978
2012-08-03 02:54:02.120 000002029382    15990

我需要找到按creation_time排序时count_out_I小于上一行的行。 数据库是 SQL Server 2008。感谢帮助。

最佳答案

这将报告第一行的 count_out_I 递减:

; with  numbered as
        (
        select  row_number() over (order by creation_time) as rn
        ,       *
        from    YourTable
        )
select  top 1 cur.*
from    numbered cur
join    numbered prev
on      prev.rn + 1 = cur.rn
where   cur.count_out_I < prev.count_out_I
order by
        cur.rn

关于sql 查找列停止递增的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11827861/

相关文章:

sql - 您如何使用 Oracle Case Statement 测试不等式

sql - 将 Excel 从 Azure Blob 存储导入到 Sql Server 时出现数据截断问题

java - 通过 hibernate 将类映射到数据库表时出现 'Entity class not found' 错误

sql - 是否可以在 Sql server 级别创建全局存储过程

c# - .NET SqlParameter 类 : will it truncate . 值字符串?

sql-server - 是否可以明确识别 DML 命令是否是从存储过程发出的?

mysql - 如何从一个表中获取与其他表中的聚合函数相关的信息

MySQL 计数列

sql-server - ";1"在 MS SQL 中调用存储过程后?

sql查询用特定单词分割一行