Mysql 获取groupby中count()的和

Mysql 获取groupby中count()的和,mysql,sql,Mysql,Sql,不知道我是否违反了公司的指导方针,把一个延续性问题作为新问题发布。如果是的话。对不起 现在用, SELECT count(alertid) as cnt,date(alertdate) as alertDate FROM alertmaster a,subscriptionmaster s WHERE alertDate BETWEEN DATE_SUB(CURDATE(),INTERVAL 7 DAY) AND CURDATE() GROUP BY date(alertDate),s.s

不知道我是否违反了公司的指导方针,把一个延续性问题作为新问题发布。如果是的话。对不起

现在用,

SELECT count(alertid) as cnt,date(alertdate) as alertDate 
FROM alertmaster a,subscriptionmaster s 
WHERE alertDate BETWEEN DATE_SUB(CURDATE(),INTERVAL 7 DAY) AND CURDATE() 
GROUP BY date(alertDate),s.subId 
ORDER BY a.alertDate DESC;
生产:
13,'2011-04-08'
13,'2011-04-08'
13,'2011-04-08'
14,'2011-04-07'
13,'2011-04-07'

我想要的是:

39,'2011-04-08'
27,‘2011-04-07’


如何实现这一点?

每个日期获得多行的原因是您有
按日期分组(alertDate),s.subId
。只需将您的
分组方式更改为

GROUP BY date(alertDate)
如果实际上不希望每个
s.subId都有单独的组,请选择date
组合


此外,您发布的代码缺少
JOIN
条件。这是首选使用显式(ANSI 92)
JOIN
语法的一个原因。

每个日期获得多行的原因是因为您有
按日期分组(alertDate),s.subId
。只需将您的
分组方式更改为

GROUP BY date(alertDate)
如果实际上不希望每个
s.subId都有单独的组,请选择date
组合


此外,您发布的代码缺少
JOIN
条件。这就是为什么首选使用显式(ANSI 92)
JOIN
语法的原因之一。

thnx很多。我在考虑我前面的两个问题。。以及他们的答案。。似乎我需要处理sql查询..我认为您似乎还缺少一个
JOIN
条件。这两张表应该有什么关联?哦,是的。。编辑时,我想我删除了错误的部分。。谢谢你让我注意到了很多。我在考虑我前面的两个问题。。以及他们的答案。。似乎我需要处理sql查询..我认为您似乎还缺少一个
JOIN
条件。这两张表应该有什么关联?哦,是的。。编辑时,我想我删除了错误的部分。。谢谢你引起我的注意