我有一个日志表,其日期附加到日志项本身。该日志会跟踪发布商用于展示广告的广告空间中的展示次数。看起来(大大简化)像这样:
id | date | adspace_id | impressions
当广告空间一天没有展示次数时,它有时会提供0.其他时间,它根本就不会被记录。其他时候,adspace_id将在同一天被记录多次。 (我不知道为什么。)我试图在30天内拉出每天都有价值的adspace_ids,但无法弄清楚如何做到这一点。我试过了
SELECT adspace_id FROM logstbl WHERE (`date` > "2014-02-01" AND `date` < "2014-03-02") AND impressions != 0
但是它会在这些日期之间留下任何记录空间,而不是在所有上记录日志的空间。
我想我错过了什么,任何帮助都会非常感激。
答案 0 :(得分:0)
您可以计算这些日期之间的天数(例如,30天),并查找分配给它们的许多日期的ID(此SQL几乎肯定会被重构,但只是一个想法) :
SELECT adspace_id from
(
SELECT adspace_id, count(date) as cnt from
(
SELECT distinct adspace_id, date
FROM logstbl WHERE (`date` > "2014-02-01" AND `date` < "2014-03-02")
AND impressions != 0
) a group by adspace_id
) b where b.cnt > 30