我正在制作简讯php模块,其中包含队列列表(因此我的cron文件可以按分钟向其发送特定数量的电子邮件),我想如果时事通讯有关于队列的电子邮件和多少电子邮件,那么为了节省处理时间,如果有电子邮件要发送,我不想获取每个时事通讯并逐字段去。
所以,想象一下 NEWSLETTER_QUEUE 表中的这个结构:
NEWSLETTER_ID EMAIL
1 test1@hotmail.com
1 test2@hotmail.com
1 test3@hotmail.com
1 test4@hotmail.com
2 test2@hotmail.com
2 test3@hotmail.com
2 test4@hotmail.com
3 test4@hotmail.com
我只想获得价值观:
NEWSLETTER_ID COUNT(EMAIL)
1 4
2 3
3 1
所以,通常我会通过时事通讯查询时事通讯并检查它是否发送待处理和计数,但我不想节省处理时间。
答案 0 :(得分:4)
SELECT newsletter_id, COUNT(email)
FROM newsletter_queue
GROUP BY newsletter_id
答案 1 :(得分:2)
您想使用GROUP BY。
SELECT NEWSLETTER_ID,COUNT(EMAIL) FROM NEWSLETTER_QUEUE GROUP BY NEWSLETTER_ID
答案 2 :(得分:1)
一个简单的小组应该这样做吗?
select
NEWSLETTER_ID,
COUNT(1) as [COUNT(EMAIL)]
from
NEWSLETTER_QUEUE
group by
NEWSLETTER_ID