简体   繁体   English

MySQL基于时间戳循环遍历数据库?

[英]Mysql loop through database based on timestamp?

In my database I store orders as entryDate based on Unix timestamp. 在我的数据库中,我根据Unix时间戳将订单存储为entryDate I would like to make a simple HTML chart that displays the number of orders of a given day. 我想制作一个简单的HTML图表,以显示给定日期的订单数量。 But this is thougher that it sounds (for me atleast). 但这听起来似乎更糟(对我来说至少)。

How do I loop through my database based on an unix timestamp? 如何基于Unix时间戳遍历数据库? How do I then get the total number of orders of that day? 我如何获得当天的订单总数? The furtest I got is: 我得到的最远的是:

SELECT COUNT(id) 
FROM customers_orders 
WHERE entryDate >= NOW() - INTERVAL 7 DAY
AND status != 99 AND totalprice > 0 AND importId = 0

For orders of TODAY I use: 对于今天的订单,我使用:

SELECT COUNT(id) FROM customers_orders WHERE DATE_FORMAT(FROM_UNIXTIME(`entryDate`), '%Y-%m-%d') = CURDATE() AND status != 99

The end result should be something simple like: 最终结果应该像下面这样简单:

<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>

DATE(entryDate) gives you the YYYY MM DD part of your timestamp, group your query with that. DATE(entryDate)为您提供时间戳的YYYY MM DD部分,并DATE(entryDate)对您的查询进行分组。

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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM