分组在哪里?

时间:2009-09-24 15:37:36

标签: mysql sql group-by

我正在尝试使用以下代码计算mysql数据库中的一些列:

"SELECT SUM(klick) FROM svar GROUP BY pollid HAVING pollID="& rstPoll("PollId")

但它不起作用。所以我想要做的是获得pollId具有特定值的所有“klick”的总和。我得到这个代码来使用访问但不使用mysql:

"SELECT SUM(klick) FROM svar WHERE pollID="& rstPoll("PollId"))

数据库中的一些行: id:180 克里克:10 pollid:56

id:181 克里克:53 pollid:56

id:182 克里克:10 pollid:56

现在我想要所有klick的总和,例如pollId = 56。所以这里的结果将是:73

3 个答案:

答案 0 :(得分:2)

只需获取特定pollID的klick总和,您不需要group by子句:

SELECT SUM(klick)
  FROM svar
 WHERE pollID = %d

答案 1 :(得分:2)

我不知道这个rstPoll()业务是什么,但这是完全有效的MySQL SQL:

SELECT SUM(klick) FROM svar WHERE pollID = 1234

假设pollID是数字类型。它会做你期望的事情,所以你还有别的东西在继续。

答案 2 :(得分:2)

您的第二个查询是正确的。您必须在比较两种不同类型时遇到问题:pollID和任何rstPoll(“PollId”)返回。