+-

我必须在一年中的所有月份都进行SQL查询以获得公司的收入,但有些月份的表中没有记录.
我使用过这个查询:
SELECT COUNT(wp_dgl_stats.datetime_stamp)*wp_dgl_ads.price as incomes, MONTHNAME(wp_dgl_stats.datetime_stamp) as month
FROM wp_dgl_ads
INNER JOIN wp_dgl_stats ON wp_dgl_stats.id_ad = wp_dgl_ads.id
WHERE YEAR(wp_dgl_stats.datetime_stamp) = 2015
GROUP BY MONTHNAME(wp_dgl_stats.datetime_stamp)
我必须说wp_dgl_stats包含用户在网络的某些空间(广告显示)中发出的每次点击的记录,其中包含对广告的引用和日期时间戳.
此查询确切地返回具有收入和确切金额的月份.但我需要在剩下的0个月内获得.
怎么可以这样做?
最佳答案
经过大量的测试,我得到了一个合适的解决方案.如果有人需要解释,我会在这里发布.
SELECT meses.month, CAST(COUNT(stats.id)*ads.precio AS UNSIGNED) as precio
FROM
(
SELECT 1 AS MONTH
UNION SELECT 2 AS MONTH
UNION SELECT 3 AS MONTH
UNION SELECT 4 AS MONTH
UNION SELECT 5 AS MONTH
UNION SELECT 6 AS MONTH
UNION SELECT 7 AS MONTH
UNION SELECT 8 AS MONTH
UNION SELECT 9 AS MONTH
UNION SELECT 10 AS MONTH
UNION SELECT 11 AS MONTH
UNION SELECT 12 AS MONTH
) as meses
LEFT JOIN wp_dgl_stats stats ON meses.month = MONTH(stats.datetime_stamp)
LEFT JOIN wp_dgl_ads ads ON stats.id_ad = ads.id AND YEAR(stats.datetime_stamp) = '2015'
GROUP BY meses.month
因为我是一名西班牙语开发人员,我需要有西班牙语月份名称,我选择月份编号,并使用PHP数组我们可以将月份数字转换为他的西班牙语名称.
如果有人有问题,那就去做吧,我很乐意回答.
点击查看更多相关文章
转载注明原文:MySQL获得了一年中所有月份的统计数据 - 乐贴网