получить сумму count () в группе - PullRequest
1 голос
/ 09 апреля 2011

Не знаю, нарушаю ли я правила общности, публикуя вопрос о продолжении как новый вопрос.Если так.Я сожалею !!

Теперь, используя,

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'

Как этого добиться?

1 Ответ

6 голосов
/ 09 апреля 2011

Причина, по которой вы получаете более одной строки за дату, заключается в том, что у вас есть GROUP BY date(alertDate),s.subId.Просто измените ваш GROUP BY на

GROUP BY date(alertDate)

Если вы не хотите, чтобы отдельные группы для каждой комбинации s.subId,date.

Кроме того, в опубликованном вами коде отсутствует условие JOIN,Это одна из причин, почему предпочтительным является использование явного (ANSI 92) JOIN синтаксиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...