ls_order_sku 的 sku_id,create_time字段 sku_id 和 ls_sku表的 id字段关联 ls_sku的 spu_id字段 和 ls_spu表的 id字段关联 product_line_id 和 ls_product_line表的id字段关联 我要根据created_time 计算出 当天,当周,当月,当年分别销售额,并根据product_line_id 分组,展示product_line_id,ls_product_line表的name字段,以及聚合的值,我想用一条sql实现怎么编写sql
时间: 2023-08-16 14:06:30 浏览: 79
可以使用以下 SQL 语句实现:
```
SELECT p.id AS product_line_id, p.name AS product_line_name,
SUM(CASE WHEN DATE_FORMAT(o.create_time, '%Y-%m-%d') = CURDATE() THEN o.price ELSE 0 END) AS today_sales,
SUM(CASE WHEN YEARWEEK(o.create_time) = YEARWEEK(CURDATE()) THEN o.price ELSE 0 END) AS this_week_sales,
SUM(CASE WHEN DATE_FORMAT(o.create_time, '%Y-%m') = DATE_FORMAT(CURDATE(), '%Y-%m') THEN o.price ELSE 0 END) AS this_month_sales,
SUM(CASE WHEN YEAR(o.create_time) = YEAR(CURDATE()) THEN o.price ELSE 0 END) AS this_year_sales
FROM ls_order_sku AS o
JOIN ls_sku AS s ON o.sku_id = s.id
JOIN ls_spu AS sp ON s.spu_id = sp.id
JOIN ls_product_line AS p ON sp.product_line_id = p.id
GROUP BY p.id
```
这个查询使用了四个 SUM 函数,分别计算了当天、当周、当月和当年的销售额。使用了 CASE WHEN 语句进行条件判断,只有符合条件的订单才会被计算在内。同时使用了 DATE_FORMAT 和 YEARWEEK 函数进行日期处理。最后使用了 GROUP BY 语句对 product_line_id 进行分组,同时查询出了 ls_product_line 表中的 name 字段。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)