我确定这已经在其他地方得到了解答,但是我一直在努力寻找正确的术语……
以下是我定期收集的一些数据(恰好是Facebook受众人数)。
每个测试都是一个target
,并且有两个batches
,分别是18和19(但是整个数据集中会有更多)。
+--------+-------+----------+-------+---------------------+
| target | batch | location | daily | created_at |
+--------+-------+----------+-------+---------------------+
| 53003 | 18 | Austria | 12117 | 2019-05-27 10:55:48 |
| 53003 | 19 | Austria | 12663 | 2019-05-29 01:18:25 |
| 53004 | 18 | Austria | 4999 | 2019-05-27 10:55:49 |
| 53004 | 19 | Austria | 4999 | 2019-05-29 01:18:26 |
| 53005 | 18 | Austria | 999 | 2019-05-27 10:55:50 |
| 53005 | 19 | Austria | 997 | 2019-05-28 22:19:25 |
+--------+-------+----------+-------+---------------------+
我想按天数过滤,其中同一batch
的{{1}} 18和19具有相同的target
值。
所以我会得到类似以下的信息(因为目标53004是唯一两天结果相同的目标)。
注意:重要的是我希望首先比较每个目标,所以,如果另一个目标两个批次的日均= 4999,它将分别计算,并且如果两个目标碰巧都具有日均= 123,但每批次仅一次,它们也不会算作匹配项。
daily
( n / a 只是表示这些列将不再是单个值,我不在乎它们。)
答案 0 :(得分:3)
您可以聚合并检查HAVING
子句中的最小值和最大值相等。
SELECT target,
'n/a' batch,
location,
max(daily) daily,
'n/a' created_at
FROM elbat
GROUP BY target,
location
HAVING min(daily) = max(daily);