SQL / Teradata:返回记录,其中连续行中的值相同

苗条88

我有一个数据集,看起来像:

ID        date     emp_num    loc
1111     5/2/16    111111     Brooklyn
1112     5/3/16    222222     Detroit
1113     5/3/16    333333     San Diego
1114     5/2/16    333333     Orlando
1115     5/5/16    333333     Brooklyn
1116     5/7/16    111111     Orlando

在这种情况下,我要返回记录1113、1114和1115,因为连续行中的emp_num(按ID排序)是相同的。

我使用Teradata,但是如果有人对另一个引擎有SQL解决方案,那么我通常可以设法对其进行翻译。

谢谢你。

牙齿

您需要查看上一行/下一行,并检查它是否保持不变:

SELECT * 
FROM tab
QUALIFY 
   MIN(emp_num) --previous row
   OVER (ORDER BY ID
         ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) = emp_num
OR
   MIN(emp_num) -- next row
   OVER (ORDER BY ID
         ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) = emp_num

在Standard SQL中,这是LAG/的任务LEAD,但Teradata不会强制执行,因此您必须重写它。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如果记录相同,则更新SQL行

来自分类Dev

SQL SELECT在GridView中两次返回相同的值

来自分类Dev

计算SQL中的连续重复值

来自分类Dev

SQL Server:根据记录的值返回列名

来自分类Dev

SQL Server:如何选择表中的行,其中列的值相同,而另一列的值完全相同

来自分类Dev

SQL行共享相同的列值以及其中

来自分类Dev

如何使用SQL从组中忽略相同的连续记录

来自分类Dev

聚合SQL表中的连续行

来自分类Dev

基于连续匹配记录的SQL记录中的标签组

来自分类Dev

SQL-获取“ X”连续值的总和,其中X是另一行中的整数(带有类别)

来自分类Dev

SQL查询帮助-CASE STATEMENT返回2行或更多行-选择其中的一个值

来自分类Dev

如果SQL查询中的记录相同,如何分配相同的唯一行号?

来自分类Dev

PHP SQL查询未返回与phpMyAdmin中相同的行

来自分类Dev

计算字段返回相同值的SQL

来自分类Dev

SQL:从表中不存在其中某些值的数组中返回值

来自分类Dev

为什么特定的比较会从SQL Server存储过程中返回记录,但是包含相同值的IN子句什么都不返回呢?

来自分类Dev

将SQL记录值放在一行中

来自分类Dev

返回行,其中php和sql中的变量数组中的列

来自分类Dev

返回SQL中的记录数

来自分类Dev

SQL 查询:从 PostgreSQL 中删除具有相同值的行

来自分类Dev

Teradata SQL - 选择不同的返回重复行,其中一行具有空值

来自分类Dev

Select TOP 5 在通过代码调用时只返回一行,其中 SQL Server 中相同的脚本返回 5 行

来自分类Dev

SQL Server - 需要在多个返回的记录中求和值

来自分类Dev

SQL基于多列值返回记录

来自分类Dev

Teradata 中的 SQL 透视

来自分类Dev

将行值放入列中,其中列值在 SQL Server 中以整数开头

来自分类Dev

SQL - 比较连续记录

来自分类Dev

SQL - 返回不同的行,其中 1 列值用作不同的标识符

来自分类Dev

SQL查询根据行中的值返回值

Related 相关文章

  1. 1

    如果记录相同,则更新SQL行

  2. 2

    SQL SELECT在GridView中两次返回相同的值

  3. 3

    计算SQL中的连续重复值

  4. 4

    SQL Server:根据记录的值返回列名

  5. 5

    SQL Server:如何选择表中的行,其中列的值相同,而另一列的值完全相同

  6. 6

    SQL行共享相同的列值以及其中

  7. 7

    如何使用SQL从组中忽略相同的连续记录

  8. 8

    聚合SQL表中的连续行

  9. 9

    基于连续匹配记录的SQL记录中的标签组

  10. 10

    SQL-获取“ X”连续值的总和,其中X是另一行中的整数(带有类别)

  11. 11

    SQL查询帮助-CASE STATEMENT返回2行或更多行-选择其中的一个值

  12. 12

    如果SQL查询中的记录相同,如何分配相同的唯一行号?

  13. 13

    PHP SQL查询未返回与phpMyAdmin中相同的行

  14. 14

    计算字段返回相同值的SQL

  15. 15

    SQL:从表中不存在其中某些值的数组中返回值

  16. 16

    为什么特定的比较会从SQL Server存储过程中返回记录,但是包含相同值的IN子句什么都不返回呢?

  17. 17

    将SQL记录值放在一行中

  18. 18

    返回行,其中php和sql中的变量数组中的列

  19. 19

    返回SQL中的记录数

  20. 20

    SQL 查询:从 PostgreSQL 中删除具有相同值的行

  21. 21

    Teradata SQL - 选择不同的返回重复行,其中一行具有空值

  22. 22

    Select TOP 5 在通过代码调用时只返回一行,其中 SQL Server 中相同的脚本返回 5 行

  23. 23

    SQL Server - 需要在多个返回的记录中求和值

  24. 24

    SQL基于多列值返回记录

  25. 25

    Teradata 中的 SQL 透视

  26. 26

    将行值放入列中,其中列值在 SQL Server 中以整数开头

  27. 27

    SQL - 比较连续记录

  28. 28

    SQL - 返回不同的行,其中 1 列值用作不同的标识符

  29. 29

    SQL查询根据行中的值返回值

热门标签

归档