我正在尝试找到一种更好的方法来选择上个月创建的所有行。目前我只回到x天,但我想让它在每个月的第一天运行,并且不想继续调整它。
基本上,我只是希望它从月份是上个月的“日期”字段中进行选择。
这是我目前的sql:
SELECT a.*
FROM (SELECT a.article_id, a.date, a.tagline_image, a.article_top_image_filename, a.title, a.tagline, a.views, c.category_id
FROM
articles a
LEFT JOIN
`article_category_reference` c ON a.article_id = c.article_id
WHERE
a.date >= UNIX_TIMESTAMP(DATE(NOW() - INTERVAL 33 DAY)) AND c.category_id NOT IN (63) AND a.active = 1 group by `a`.`article_id`
ORDER BY
a.views DESC
LIMIT 30
) a
ORDER BY views ASC
答案 0 :(得分:3)
试试吗?
WHERE MONTH(FROM_UNIXTIME(a.date)) = MONTH(DATE_SUB(NOW(), INTERVAL 1 MONTH))
答案 1 :(得分:0)
一个好的策略是通过计算前一个月的最后一天然后再添加1天来获取上个月的第一天:
<div class="parent">
<span class="ellipsis">sadkljasjkfdhkjlhas-qdasfqewrwqe.pdf</span>
<div class="icons-right">
<a href="#"><img src="edit-icon.gif"></a>
<a href="#"><img src="delete-icon.gif"></a>
</div>
</div>
<div class="parent">
<span class="ellipsis">terribly-terribly-long-filename.doc</span>
<div class="icons-right">
<a href="#"><img src="edit-icon.gif"></a>
<a href="#"><img src="delete-icon.gif"></a>
</div>
</div>