【问题标题】:Display month wise report显示月度报告
【发布时间】:2015-05-19 12:30:42
【问题描述】:

我有这张桌子

| box    | indate     |
 ----------------------
| 500    | 2015-01-19 |
 ----------------------
|200     | 2015-01-17 |
 ---------------------
| 1000   | 2015-03-19 |
 ---------------------
| 500    | 2015-03-7  |
 ---------------------

我想要这个报告

| Year - Month| Total In box |
------------------------------
| 2015- 01    | 700          |
------------------------------
| 2015-03     | 1500         |       
------------------------------

我还想在 php 中显示年度报告。

这是我迄今为止尝试过的:

SELECT DATE_FORMAT(indate,'%Y-%m'), SUM(box) 
FROM in GROUP BY YEAR(indate), MONTH(indate)

【问题讨论】:

  • 这是一个 SQL 查询吗?
  • 我试过 SELECT DATE_FORMAT(indate,'%Y-%m'), SUM(box) FROM in GROUP BYYEAR(indate), MONTH(indate)
  • 是的,这是 sql 查询。

标签: javascript php html phpmyadmin


【解决方案1】:

尝试:

Select DATE_FORMAT(indate,'%Y-%m') as indateDate, sum(box) as totalBox FROM <your_table_name> GROUP BY indateDate;

【讨论】:

    【解决方案2】:

    你已经很接近了。
    只需修改您的查询并使用SUM(box) 代替COUNT(box)
    像这样:

    SELECT DATE_FORMAT(indate,'%Y-%m') as indate, SUM(box) 
    FROM Table1 GROUP BY YEAR(indate), MONTH(indate);
    

    对于年度报告,请不要在 Group By 中包含 MONTH

    SELECT DATE_FORMAT(indate,'%Y-%m') as indate, SUM(box) 
    FROM Table1 GROUP BY YEAR(indate);
    

    【讨论】:

      【解决方案3】:

      您可以格式化日期以仅显示年份和月份。您还可以对结果进行分组并将其与分组行的总和相结合。

      在 MySQL 中格式化日期值(即 Date、DateTime),您可以使用 formatters 将日期格式化为特定格式。

      看看这个fiddle

      【讨论】:

        【解决方案4】:

        试试:

         SELECT concat(YEAR(indate), '-', MONTH(indate)), sum(box)
         FROM
         reporttable
         GROUP BY YEAR(indate), MONTH(indate) ASC
        

        【讨论】:

          猜你喜欢
          • 2023-03-07
          • 2020-06-29
          • 1970-01-01
          • 2019-04-25
          • 2015-09-16
          • 2012-04-18
          • 1970-01-01
          • 1970-01-01
          • 2019-10-23
          相关资源
          最近更新 更多