【发布时间】:2017-04-17 13:42:15
【问题描述】:
所以我有一个任务,我需要按日期和提供者名称对结果进行分组,但目前我的代码列出了多个日期和提供者。 (需要每天有一个提供者(总共 25 天),所以我的表格显示了提供者当天收到了多少消息以及他们赚了多少)
这需要是我的结果。 Result table
But this is what i'm currently getting
这是我目前的代码
SELECT date_format( time, '%Y-%m-%d' ) AS Date, provider_name, COUNT( message_id ) AS Messages_count, SUM( price ) AS Total_price
FROM mobile_log_messages_sms
INNER JOIN service_instances ON service_instances.service_instance_id = mobile_log_messages_sms.service_instance_id
INNER JOIN mobile_providers ON mobile_providers.network_code = mobile_log_messages_sms.network_code
WHERE time
BETWEEN '2017-02-26 00:00:00'
AND time
AND '2017-03-22 00:00:00'
AND price IS NOT NULL
AND price <> ''
AND service IS NOT NULL
AND service <> ''
AND enabled IS NOT NULL
AND enabled >=1
GROUP BY provider_name, time
ORDER BY time DESC
你能告诉我我在哪里搞砸了,我真的想不出答案。
【问题讨论】:
-
您正在对时间进行分组,这将按天对结果进行分组,包括小时、分钟和秒,这就是为什么您从同一天获得不同计数的原因。请尝试按天分组。
标签: mysql date time group-by grouping