是否有人知道此代码所需的更改以获取DistinctThings的唯一实例的计数而不仅仅是计数?在我运行代码的那一刻,我得到了计数。 DistinctThings在col f1。
所以我想要实现的是三个列的列表,其中包含唯一的日期(col f15),然后是不同事物的数量(col f1),然后是值的总和(col f16)
提前致谢!
SELECT f15, sum(f16), Count(*) AS DistinctThings
FROM (SELECT DISTINCT f1, f15, f16 FROM Table)
group by f15
;
虚拟数据:
F1 F15 F16
Bob 01/12/2017 100
Harry 02/12/2017 200
James 03/12/2017 300
Bob 01/12/2017 100
Harry 02/12/2017 200
James 03/12/2017 300
Bob 01/12/2017 100
Harry 02/12/2017 200
James 03/12/2017 300
Sam 04/12/2017 400
Bob 01/12/2017 17
Harry 02/12/2017 68
James 03/12/2017 33
Sam 04/12/2017 4
Bob 01/12/2017 13
Harry 02/12/2017 234
James 03/12/2017 324
Sam 04/12/2017 57
我运行查询时得到的结果:
f15 DistinctThings Total
01/12/2017 1 216.5
02/12/2017 1 214.5
03/12/2017 1 209.5
04/12/2017 1 172.5
所以总数是col f16,我希望DistinctThings是每个不同日期的不同名字数量的计数
答案 0 :(得分:1)
这应该做:
SELECT
f15,
Count(*) As DistinctThings,
Sum(s16) As Total
FROM
(SELECT f15, Sum(f16) As s16 FROM Table Group By f15)
group by
f15
修改强>:
试试这个子查询:
(SELECT f15, Sum(f16) As s16 FROM Table Group By f15, f1)