假设我们有一张名为orders的订单表,其中有下单时间(order_date)和销售额(sales)两列,我们可以使用以下 SQL 查询来捕捉2022年至今(1月1日至今)的数据和2021年的同期(1月1日至6月10日)的数据,并进行比较:
SELECT SUM(CASE WHEN YEAR(order_date) = 2022 THEN sales ELSE 0 END) AS YTD_2022, SUM(CASE WHEN YEAR(order_date) = 2021 AND order_date BETWEEN '2021-01-01' AND '2021-06-10' THEN sales ELSE 0 END) AS YTD_2021 FROM orders WHERE order_date BETWEEN '2022-01-01' AND NOW();
以上查询使用了CASE WHEN语句来将数据分别归为2022年至今和2021年同期,然后使用SUM函数求和。
注意:由于2021年的同期时间跨度较长,所以需要使用AND和BETWEEN关键字来筛选出该时间段内的数据。