【问题标题】:Mysql loop through database based on timestamp?Mysql基于时间戳循环数据库?
【发布时间】:2014-05-19 23:42:38
【问题描述】:

在我的数据库中,我根据 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

对于今天的订单,我使用:

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>

【问题讨论】:

  • 你现在得到了什么?

标签: php mysql unix-timestamp


【解决方案1】:

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)

【讨论】:

  • 谢谢!这正是我想要的。
猜你喜欢
  • 1970-01-01
  • 2021-03-02
  • 2016-03-06
  • 1970-01-01
  • 2021-03-28
  • 2020-11-23
  • 1970-01-01
  • 2011-04-20
  • 2018-02-02
相关资源
最近更新 更多