【发布时间】:2018-06-28 10:48:34
【问题描述】:
我正在尝试从表中选择不同的 HourlyRate,然后按 FECode(基本上是一个人)对生成的 HourlyRate 进行分组。随着时间的推移,一个人可能有 2 或 3 个费率,但返回的结果涉及对相同的 FECode 重复相同的 HourlyRate。
SELECT DISTINCT Cost/Hours As HourlyRate, Date, FECode
FROM Table1
WHERE HourlyRate != ''
GROUP BY HourlyRate, FECode
ORDER BY FECode
结果如下:
HourlyRate, Date, FECode
215.00, 2017-04-06, AAA
215.00, 2017-04-27, AAA
225.00, 2017-06-16, AAA
Table1的数据如下:-
Date, FECode, Cost, Hours
2017-04-06, AAA, 236.5, 1.1
2017-04-27, AAA, 43, 0.2
2017-06-16, AAA, 247.5, 1.1
显然,在此示例中,215.00 的第二个结果不应该返回,但它确实返回了。我该如何阻止这种情况发生?
【问题讨论】:
-
我们需要样本表数据和预期结果。 (请格式化文本。)
-
您的示例输出中没有重复的行(另外:使用
group by没有聚合实际上没有意义) -
我已将表格数据添加到原始问题中。是的,数据集中有重复的行,因为应该只有一个 215.00 的实例。如果我从 SELECT 列中删除日期,我仍然会得到 215.00 的 2 个实例,AAA。所以是的,有一个重复。
-
向我们展示预期的结果。
标签: sqlite group-by duplicates distinct