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
条件。这两张表应该有什么关联?哦,是的。。编辑时,我想我删除了错误的部分。。谢谢你引起我的注意