SELECT DISTINCT 查询,每个不同的字段的数字总计

SELECT DISTINCT query with numeric totals of other field for each distinct

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

情况是这样的:学校里的孩子因不良行为而被拘留。有些 parent 有很多孩子。 如何获得 parent 的列表,其中包含所有 parent 的孩子所获得的拘留总数?

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

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

因此结果应该是:

GeorgeP    17
SamL       12

假设每个 child 只有一个 parent。

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

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

您正在寻找 GROUP BY:

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

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