在我的数据库中,我根据Unix时间戳将订单存储为entryDate
。我想制作一个简单的HTML图表,显示给定日期的订单数量。但这听起来更为震撼(至少对我而言)。
如何根据unix时间戳循环访问我的数据库?那么如何获得当天的订单总数?我得到的最好的是:
SELECT COUNT(id)
FROM customers_orders
WHERE entryDate >= NOW() - INTERVAL 7 DAY
AND status != 99 AND totalprice > 0 AND importId = 0
对于TODAY的订单,我使用:
SELECT COUNT(id) FROM customers_orders WHERE DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') = CURDATE() AND status != 99
最终结果应该是简单的:
<table>
<tr>
<td><?= $objStats->numMonday; ?></td>
<td>Monday</td>
</tr>
<tr>
<td><?= $objStats->numTuesday; ?></td>
<td>Tuesday</td>
</tr>
<tr>
<td><?= $objStats->numWednesday; ?></td>
<td>Wednesday</td>
</tr>
<tr>
<td><?= $objStats->numThursday; ?></td>
<td>Thursday</td>
</tr>
<tr>
<td><?= $objStats->numFriday; ?></td>
<td>Friday</td>
</tr>
<tr>
<td><?= $objStats->numSaturday; ?></td>
<td>Saturday</td>
</tr>
<tr>
<td><?= $objStats->numSunday; ?></td>
<td>Sunday</td>
</tr>
</table>
答案 0 :(得分:0)
DATE(entryDate)
为您提供时间戳的YYYY MM DD部分,并将您的查询分组。
SELECT COUNT(id), DATE(entryDate)
FROM customers_orders
WHERE entryDate >= NOW() - INTERVAL 7 DAY
AND status != 99 AND totalprice > 0 AND importId = 0
GROUP BY DATE(entryDate)