SQL - SAP HANA - 仅使用列 table 中的第一个条目(基于 date/time)
SQL - SAP HANA - Use only first entry in Column table (based on date/time)
我在 SAP HANA 上有一些 tables 和“创建列 table”以组合多个“原始 tables”。
在一个 table 中,有重复的行,更具体地说,每个信息(列)都是相同的,但 date/time 是 not.So 源系统有这种奇怪的习惯来创建一个条目, 几次(这是错误的)。我无法操作源系统中的数据。
table 看起来像:
- Table 姓名:Testsubject_status
- 列:状态....信息....时间戳
- 考我..........bla.......05.01.2017 05:05:00
- 考我..........bla......01.01.2017 11:15:00
- 测试他…………..blub……01.01.2017 11:17:00
- 测试她…………..blab.....01.01.2017 11:25:00
- 测试我…………..bla.......01.01.2017 11:35:00
- 测试一下………………蓝色……01.01.2017 12:15:00
- 考我…………..bla.......07.01.2017 12:15:00
在新创建的 table 中不应考虑第一个条目(date/time whise)之后的所有重复项。
- Table 姓名:Testsubject_status_NEW
- 列:状态....信息....时间戳
- 考我..........bla......01.01.2017 11:15:00
- 测试他…………..blub……01.01.2017 11:17:00
- 测试她…………..blab.....01.01.2017 11:25:00
- 测试一下………………蓝色……01.01.2017 12:15:00
这个问题确实出现过多次,不仅仅是在 Test me 中。
解决方案是这样的:
Select
- xxx AS "tri"
- yyy AS "tre"
- zzz AS "tru"
- 当 Testsubject_status.Status Count > 1 Then "take first entry"
的情况
- 来自...
- 哪里……
???
我很高兴得到每一个帮助或建议。
根据描述,聚合最大日期应该就足够了:
SELECT tri, tre, tru,
max(timestamp)
FROM
....
如果确实应该根据 所有 剩余列(timestamp
.
之外的列进行“重复数据删除”,则该方法有效
我在 SAP HANA 上有一些 tables 和“创建列 table”以组合多个“原始 tables”。 在一个 table 中,有重复的行,更具体地说,每个信息(列)都是相同的,但 date/time 是 not.So 源系统有这种奇怪的习惯来创建一个条目, 几次(这是错误的)。我无法操作源系统中的数据。 table 看起来像:
- Table 姓名:Testsubject_status
- 列:状态....信息....时间戳
- 考我..........bla.......05.01.2017 05:05:00
- 考我..........bla......01.01.2017 11:15:00
- 测试他…………..blub……01.01.2017 11:17:00
- 测试她…………..blab.....01.01.2017 11:25:00
- 测试我…………..bla.......01.01.2017 11:35:00
- 测试一下………………蓝色……01.01.2017 12:15:00
- 考我…………..bla.......07.01.2017 12:15:00
在新创建的 table 中不应考虑第一个条目(date/time whise)之后的所有重复项。
- Table 姓名:Testsubject_status_NEW
- 列:状态....信息....时间戳
- 考我..........bla......01.01.2017 11:15:00
- 测试他…………..blub……01.01.2017 11:17:00
- 测试她…………..blab.....01.01.2017 11:25:00
- 测试一下………………蓝色……01.01.2017 12:15:00
这个问题确实出现过多次,不仅仅是在 Test me 中。
解决方案是这样的: Select
- xxx AS "tri"
- yyy AS "tre"
- zzz AS "tru"
- 当 Testsubject_status.Status Count > 1 Then "take first entry" 的情况
- 来自...
- 哪里……
???
我很高兴得到每一个帮助或建议。
根据描述,聚合最大日期应该就足够了:
SELECT tri, tre, tru,
max(timestamp)
FROM
....
如果确实应该根据 所有 剩余列(timestamp
.