Ms-Access GROUP BY,TOP查询

时间:2012-07-24 08:02:15

标签: 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 ;

结果:

enter image description here

我只需要具有相同typedate的记录组中的第一条记录。

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

有什么建议吗?

由于

P.S。案例2:

红色记录的ID相同,但我们有一个额外的列'name',其中包含不同的字符串值。

1 个答案:

答案 0 :(得分:3)

使用min of 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 ; 
相关问题