【问题标题】:Compare Values in same column for the same unique item updated at different times比较在不同时间更新的同一唯一项目的同一列中的值
【发布时间】:2021-06-24 23:21:16
【问题描述】:
我正在尝试构建一个报告,用于比较管道中不同个人所做的数据输入。
我想过滤条目不同的实例。
假设我的表格有以下标题:
user_id、group_id、attribute_name、value_from、value_to、时间戳)
我正在尝试获取显示项目的报告(基于唯一的 group_id)
- 输入了不同的值(由 value_to 标识)
- 按用户(由 user_id 标识)
- 在流程的不同阶段(基于时间戳)。
另外我只想考虑几个特定的字段(基于attribute_name,所以类似于...attribute_name IN ('name', 'price',.....)
感谢任何帮助!
【问题讨论】:
标签:
sql
join
case
self-join
【解决方案1】:
由于缺乏显示所需行为的示例,该问题令人困惑。根据我的阅读:
SELECT t1.*
FROM mystery_table_with_mystery_name
t1
JOIN (
SELECT group_id
FROM mystery_table_with_mystery_name
--------------- to filter rows BEFORE checking for multiple entries:
WHERE attribute_name IN ( blah blah blah )
GROUP
BY group_id
HAVING COUNT(*) > 1
)
t2
ON t2.group_id = t1.group_id
------ to filter rows AFTER output group_ids have been decided:
WHERE t1.attribute_name IN ( blah blah blah )