Sql Ms Access分组依据,顶部查询
我对.mdb文件使用以下查询,结果如下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 ; 结果: 我只需要具有相同类型和日期的记录组中的第一条记录 我会使
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子句中