【问题标题】:How to select a records by specific month / year如何按特定月份/年份选择记录
【发布时间】:2015-04-08 12:26:48
【问题描述】:

我正在尝试获取我网站中最后一个缺失的部分,不幸的是我还需要生成销售报告。我不知道从哪里开始。

如何显示特定周、月、年的记录。和总额

表:payments.tbl

 payment_id amount  customer_id product_id  trx_id  currency    payment_date
 21     10470        1       15      5F110606611093636  PHP    2015-03-30

注意:payment_date 结构是 DATE

【问题讨论】:

  • GROUP BY,结合聚合函数SUM。
  • 你能给我举个例子吗..就像这个月的一样
  • 您使用的是哪些 dbms? (我在问,因为日期/时间处理通常不符合 ANSI SQL...)
  • 或者更好的是我可以通过输入三个文本框来获取记录。年:月:日:并将它们存储在变量中,以便我可以选择它们

标签: php mysql sql


【解决方案1】:

您可以使用WHERE 获取特定记录。

您通过SUM()获得总金额。

如何处理日期取决于您的 DBMS,因为不同的 DBMS 具有不同的日期功能。这是 MySQL 的示例:

select 
  sum(amount) as total_amount, 
  currency,
  count(distinct customer_id) as number_of_different_customers,
  count(distinct product_id) as number_of_different_products
from mytable
where month(payment_date) = month(curdate()) and year(payment_date) = year(curdate())
group by currency;

我在这里按货币分组以获得每种货币的一个结果记录,因为将不同货币的金额相加是没有意义的。

可在此处找到 MySQL 的日期函数:https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 2017-10-13
    相关资源
    最近更新 更多