可以使用 MySQL 的 GROUP BY 和 DATE_FORMAT 函数来实现按天和按类型统计数据。
假设有一张表叫做 orders,包含以下字段:
- id:订单 ID
- order_date:下单日期(格式为 “YYYY-MM-DD”)
- type:订单类型(可以是 A、B 或 C)
- amount:订单金额
要按天和按类型统计订单数量和金额,可以使用如下 SQL 语句:
SELECT
DATE_FORMAT(order_date, '%Y-%m-%d') AS day,
type,
COUNT(id) AS count,
SUM(amount) AS total_amount
FROM
orders
GROUP BY
day,
type
ORDER BY
day ASC,
type ASC;
这个 SQL 语句会把 orders 表中所有订单按照 day 和 type 分组,然后统计每组的订单数量和总金额。最后按照 day 和 type 排序输出结果。
如果想要只按照天统计数据,可以去掉 type 字段,改成只按照 day 分组:
SELECT
DATE_FORMAT(order_date, '%Y-%m-%d') AS day,
COUNT(id) AS count,
SUM(amount) AS total_amount
FROM
orders
GROUP BY
day
ORDER BY
day ASC;
这个 SQL 语句会把 orders 表中所有订单按照 day 分组,然后统计每天的订单数量和总金额。最后按照 day 排序输出结果。