Sql microsoftaccess中的子查询
有人知道需要对此代码进行哪些更改才能获得DistinctThings的唯一实例的计数,而不仅仅是计数吗?在我运行代码的时候,我只得到了计数。不同的内容在f1列中 所以我想得到的是一个三列的列表,有唯一的日期列f15,然后是不同事物的计数列f1,然后是值的总和列f16 提前谢谢Sql microsoftaccess中的子查询,sql,ms-access,Sql,Ms Access,有人知道需要对此代码进行哪些更改才能获得DistinctThings的唯一实例的计数,而不仅仅是计数吗?在我运行代码的时候,我只得到了计数。不同的内容在f1列中 所以我想得到的是一个三列的列表,有唯一的日期列f15,然后是不同事物的计数列f1,然后是值的总和列f16 提前谢谢 SELECT f15, sum(f16), Count(*) AS DistinctThings FROM (SELECT DISTINCT f1, f15, f16 FROM Table) group by f15 ;
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
因此,总数是第16列,我想将distinct things作为每个不同日期的不同姓名数的计数
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)
谢谢,但它会将f1的计数全部返回为1。您知道我如何在f1中也包含不同值的计数吗?所以我想得到的是不同的日期f15,这些日期的不同项的计数f1和这些日期的总值总和f16?它按f15分组,所以它计算每个f15的不同计数。没有f1。因此,是否可以对语句进行修改,使其也包括f1中不同值的计数?也将很快提供虚拟数据。我得到的结果我添加到我的数据中,你知道怎么做吗?我的查询应该会返回这些结果。您每个日期只有一个人。请提供几行示例数据、当前结果和期望的结果,以便更好地说明您的问题。您好,Parfait,我添加了一些示例数据以及运行Gustav提供的语句时得到的结果