如何计算小组数

时间:2013-11-06 05:44:59

标签: sql ms-access

![在此处输入图像说明] [1]我如何计算分组数。

SELECT     Voter.*, temp100.YadiNo, temp100.CountHouseNo
FROM       temp100 
INNER JOIN Voter ON (temp100.HouseNo = Voter.HouseNo) AND (temp100.YadiNo = Voter.YadiNo)
WHERE      (((temp100.YadiNo) Between " & txtpartno.Text.Trim & " And " & txtpartno1.Text.Trim & ") 
AND        ((temp100.CountHouseNo) Between " & txtfamilymeb.Text.Trim & " And " & txtfamilymeb1.Text.Trim & "))
ORDER BY   voter.houseno

意味着我是逐户展示的。 我想要一组房子的数量

2 个答案:

答案 0 :(得分:0)

U can't use group by with order by,
so change order by to group by 
like this

***SELECT     Voter.*, temp100.YadiNo, temp100.CountHouseNo
FROM       temp100 
INNER JOIN Voter ON (temp100.HouseNo = Voter.HouseNo) AND (temp100.YadiNo = Voter.YadiNo)
WHERE      (((temp100.YadiNo) Between " & txtpartno.Text.Trim & " And " & txtpartno1.Text.Trim & ") 
AND        ((temp100.CountHouseNo) Between " & txtfamilymeb.Text.Trim & " And " & txtfamilymeb1.Text.Trim & "))
GROUP BY   voter.houseno***

答案 1 :(得分:0)

这只是一个猜测,这将计算每个众议院号码的选民数量,如:

 SELECT     Voter.houseno, COUNT(*) as CountHouseNo
 FROM       temp100 
 INNER JOIN Voter ON (temp100.HouseNo = Voter.HouseNo) AND (temp100.YadiNo = Voter.YadiNo)
 WHERE      (((temp100.YadiNo) Between " & txtpartno.Text.Trim & " And " &   txtpartno1.Text.Trim & ") 
 AND        ((temp100.CountHouseNo) Between " & txtfamilymeb.Text.Trim & " And " &  txtfamilymeb1.Text.Trim & "))
 GROUP BY   Voter.houseno
 ORDER BY   Voter.houseno

如果你想要包含YadiNo(这意味着什么),你可以这样做:

 SELECT     Voter.houseno, temp100.YadiNo, COUNT(*) as CountHouseNo
 FROM       temp100 
 INNER JOIN Voter ON (temp100.HouseNo = Voter.HouseNo) AND (temp100.YadiNo = Voter.YadiNo)
 WHERE      (((temp100.YadiNo) Between " & txtpartno.Text.Trim & " And " &   txtpartno1.Text.Trim & ") 
 AND        ((temp100.CountHouseNo) Between " & txtfamilymeb.Text.Trim & " And " &  txtfamilymeb1.Text.Trim & "))
 GROUP BY   Voter.houseno, temp100.YadiNo
 ORDER BY   Voter.houseno

COUNT()是一个聚合函数,通常与GROUP BY子句配对。

参见示例here