2015-03-24 30 views
-1

如何在MS Access 2010数据库中编写以下SELECT查询?SELECT DISTINCT查询与每个不同的其他字段的数字总计

现在的情况是:学校里的孩子因为不良行为而被拘留。有些父母有很多孩子。 我怎样才能得到父母所有孩子都得到的拘留总数?

这里是数据结构: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的总和?

我正在从Java使用JDBC本机查询,所以它看起来更像:ResultSet rs = s.executeQuery("SELECT DISTINCT ParentName FROM BadParentsTable");

回答

3

您正在寻找GROUP BY

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

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

+0

谢谢你和+1。因为你回答了这个问题,所以我将其标记为答案。但是,您是否足够显示'ORDER BY TotalDetentions DESC'和'WHERE TotalDetentions> 15'的其他变体?我不知道按照什么顺序放置额外的术语。 – CodeMed 2015-03-24 22:26:17

+0

这些答案可能更具体一些MySQL或TSQL,我很少使用MS Access。希望这会让你朝着正确的方向前进:http://sqlfiddle.com/#!9/1f25c/5祝你好运! – 2015-03-24 22:36:41

相关问题