SELECT DISTINCT查询与每个不同的其他字段的数字总计

时间:2015-03-24 22:02:09

标签: sql ms-access jdbc ms-access-2010

如何在MS Access 2010数据库中编写以下SELECT查询?

情况如下:学校里的孩子因不良行为而被拘留。有些父母有很多孩子。 如何获得所有父母的孩子获得的扣留总数的父母列表?

以下是数据结构:BadParentsTable包含字段ChildNameParentNameNumberOfDetentions。 ChildName和ParentName是文本数据类型。 NumberOfDetentions是数字数据类型。样本数据看起来像;

ChildName     ParentName    NumberOfDetentions  
Sally         GeorgeP        12
Fred          SamL           2
Sue           GeorgeP        5
Joe           SamL           10

结果应该是:

GeorgeP    17
SamL       12

让我们假设每个孩子只有一个父母。

我想我会尝试SELECT DISTINCT ParentName FROM BadParentsTable,但是如何编写SQL来获取每个父级NumberOfDetentions的总和?

我使用JDBC从Java运行这个本机查询,所以它更像是:ResultSet rs = s.executeQuery("SELECT DISTINCT ParentName FROM BadParentsTable");

1 个答案:

答案 0 :(得分:3)

您正在寻找GROUP BY

SELECT
  ParentName,
  SUM(NumberOfDetentions) AS TotalDetentions
FROM test_table
GROUP BY ParentName

Here's a SQLFiddle(在MySQL中,但这是非常简单的SQL)