Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Ms Access分组依据,顶部查询_Sql_Group By_Ms Access 2007_Limit - Fatal编程技术网

Sql Ms Access分组依据,顶部查询

Sql Ms Access分组依据,顶部查询,sql,group-by,ms-access-2007,limit,Sql,Group By,Ms Access 2007,Limit,我对.mdb文件使用以下查询,结果如下 SELECT tableA.id, tableA.type, tableA.date, SUM(tableA.val) AS total, tableB.SumB FROM tableA LEFT JOIN tableB ON tableB.id = tableA.id GROUP BY tableA.id, tableA.type, tableA.date, tableB.SumB ; 结果: 我只需要具有相同类型和日期的记录组中的第一条记录 我会使

我对.mdb文件使用以下查询,结果如下

SELECT tableA.id, tableA.type, tableA.date, SUM(tableA.val) AS total, tableB.SumB
FROM tableA LEFT JOIN tableB ON tableB.id = tableA.id
GROUP BY tableA.id, tableA.type, tableA.date, tableB.SumB ;
结果:

我只需要具有相同
类型
日期
的记录组中的第一条记录

我会使用
DISTINCT
,但问题是我有一个不同的字段(在本例中为
id

有什么建议吗

谢谢

p.S.案例2:


红色记录的id相同,但我们有一个附加列“name”,具有不同的字符串值。

使用id的最小值,并将其从Group by子句中删除

SELECT min(tableA.id) as id, tableA.type, tableA.date, 
SUM(tableA.val) AS total, tableB.SumB 
FROM tableA LEFT JOIN tableB ON tableB.id = tableA.id 
GROUP BY tableA.type, tableA.date, tableB.SumB ; 

谢谢另一种情况如何:id相同,但我有另一个具有不同值的列(名称)?在这种情况下,是否只返回一个名称?然后在select语句中添加min(名称)作为名称。我添加了min(名称),但我仍然收到这两条记录,并且我的(Expr1003)列名应为min(名称),而不是min(名称)作为名称,不要将该列包含在GROUPBY子句中