写一个sql 根据memberId和年份 去找对应的三张订单表里面获取订单数据 并根据这个查询结果按照每个月进行划分 需要有订单金额 订单数 java 数据库为postgresql
时间: 2024-03-13 13:48:07 浏览: 60
实验 4 查询数据库.rar_sql_sql 查询_数据库 实验_订单数据
5星 · 资源好评率100%
好的,以下是 SQL 查询语句:
```
SELECT
date_trunc('month', order_time) AS month,
SUM(order_amount) AS total_amount,
COUNT(*) AS total_orders
FROM (
SELECT order_time, order_amount FROM order_2019 WHERE member_id = ?
UNION ALL
SELECT order_time, order_amount FROM order_2020 WHERE member_id = ?
UNION ALL
SELECT order_time, order_amount FROM order_2021 WHERE member_id = ?
) AS all_orders
WHERE date_part('year', order_time) IN (2019, 2020, 2021)
GROUP BY date_trunc('month', order_time)
ORDER BY month;
```
请将 SQL 中的 `?` 替换为对应的 `memberId`。这个查询语句会从三张订单表(`order_2019`、`order_2020` 和 `order_2021`)中获取该会员在指定年份内的订单数据,并按照每个月进行汇总,计算每个月的订单金额和订单数。最后,按照月份升序排序,返回查询结果。
阅读全文