如何在MS Access 2010数据库中编写以下SELECT查询?
情况如下:学校里的孩子因不良行为而被拘留。有些父母有很多孩子。 如何获得所有父母的孩子获得的扣留总数的父母列表?
以下是数据结构:BadParentsTable
包含字段ChildName
,ParentName
和NumberOfDetentions
。 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");
答案 0 :(得分:3)
您正在寻找GROUP BY
:
SELECT
ParentName,
SUM(NumberOfDetentions) AS TotalDetentions
FROM test_table
GROUP BY ParentName
Here's a SQLFiddle(在MySQL中,但这是非常简单的SQL)