【发布时间】:2017-11-18 18:34:09
【问题描述】:
我有一个表:box (id autoincrement, net_amount, created_at timestamp); 我需要在 php mysql 中创建一个查询来选择每个月最后插入的记录。从而在每个月底获得 net_amount。 我正在尝试这个简单的查询:
select * from box
where box.created_at < 20055332516028
虽然我的表中的 max created_at 是 2017-10-14 10:42:30,但是当我使用给定查询时没有记录,我需要增加数量来获取记录!!!
【问题讨论】:
-
所以你必须得到在最后两个日期的几个月内插入的记录,对吗?
-
我需要获取每个月内最后插入的记录。每个月的开始和结束之间的最后一条记录。
-
所以你指定start和end的值?我是在价值观之间,对吧?
-
您不能通过单个查询来完成 - 至少您需要月份列表,而现在您的 tane 中不存在该列表。制作mysql程序,临时表或通过php和一些查询来完成
-
是的,我已经完成了循环。正如飞行在他的回答中所建议的那样,我认为我仍然需要重新创建开始和结束日期,正如飞行在他的回答中所建议的那样。我使用了 $startDate = date("Y-m-d", strtotime("2016-01-1"));和 $endDate = date("Y-m-d", strtotime("2016-01-1 +" . $i . "month"));然后 $fromTimeStamp = date('d-m-Y', strtotime($fromDate)); $fromTimeStamp = strtotime($fromTimeStamp); $toTimeStamp = date('d-m-Y', strtotime($toDate)); $toTimeStamp = strtotime($toTimeStamp);