【问题标题】:How to generate reports per month and per year from the database in php如何从php中的数据库生成每月和每年的报告
【发布时间】:2014-11-22 05:13:09
【问题描述】:

我正在每月和每年创建一代报告。我想显示每月总销售额的 15 种费用。我的数据库表中有一个日期列,格式为(例如 2014-09-27)。我不知道如何按月(从 1 月到 12 月)订购,然后将每项费用的总和加起来。我有一个下拉列表来选择年份,以便显示取决于我选择的年份的每年和每月的报告。数据库中的每一笔费用都有一个价格。

数据库名称:注册

表名:应用程序

列:DATE_APPLICATION, Barangay_Business_Permit, Business_Plate, Sanitary_Inspection_Fee, Environmental_Clearance, Barangay_Development, Building_Permit, Electrical_Inspection, Mechanical_Inspection, Plumbing_Inspection, Health_Certificate, Signage_Fee, Penalty, Barangay_Clearance, Barangay_Certification, Construction_Clearance

【问题讨论】:

  • 您需要从日期中提取月份,将此值放入别名字段中,然后按此分组
  • @Claudio 如何从日期中提取月份,然后按其分组,以便计算每月每笔费用的总销售额?
  • 在我的 sql 中存在这个 MONTHNAMR() 的函数。这接受日期作为参数和月份的返回名称
  • @claudio 我不知道如何在 php 中通过识别月份并将其分组来做到这一点。我是 php 新手。

标签: php mysql date


【解决方案1】:

根据更新的信息,如果您想按月或年计算应用程序的总数,您需要根据日期提取一个选择,然后对按 Date_Application 分组的列求和。因此,对于每月列表:

Select SUM(Barangay_Business_Permit), SUM(Business_Plate), SUM(Sanitary_Inspection_Fee),
SUM(Environmental_Clearance), SUM(Barangay_Development), SUM(Building_Permit),
SUM(Electrical_Inspection), SUM(Mechanical_Inspection), SUM(Plumbing_Inspection),
SUM(Health_Certificate), SUM(Signage_Fee), SUM(Penalty), SUM(Barangay_Clearance),
SUM(Barangay_Certification), SUM(Construction_Clearance)
from Registration.application GROUP BY MONTH(DATE_APPLICATION);

对于年度列表:

Select SUM(Barangay_Business_Permit), SUM(Business_Plate), SUM(Sanitary_Inspection_Fee),
SUM(Environmental_Clearance), SUM(Barangay_Development), SUM(Building_Permit),
SUM(Electrical_Inspection), SUM(Mechanical_Inspection), SUM(Plumbing_Inspection),
SUM(Health_Certificate), SUM(Signage_Fee), SUM(Penalty), SUM(Barangay_Clearance),
SUM(Barangay_Certification), SUM(Construction_Clearance)
from Registration.application GROUP BY YEAR(DATE_APPLICATION);

如果您想使用月份的名称,您可以使用 MONTHNAME(DATE_APPLICATION)

【讨论】:

  • 第二个应该是 YEAR(DATE) 吗?
  • @AbsoluteƵERØ 我对我的问题做了一些修改。我将其更改为 ORDER BY 因为我将获得每行的所有总数(按顺序)。我如何细分每个月的费用总额?例如,我将本月的每笔费用的总和分开,并重新开始计算下个月的费用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多