From 82e73c5670f9ac2aae5037f9b9880b47fe622b54 Mon Sep 17 00:00:00 2001 From: nguyentrungthat <80239428+nguentrungthat@users.noreply.github.com> Date: Mon, 24 Nov 2025 13:43:54 +0700 Subject: [PATCH] Update index.js --- index.js | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/index.js b/index.js index e2a422d..22aed88 100644 --- a/index.js +++ b/index.js @@ -340,21 +340,31 @@ async function main() { const [countLastMonth] = await db.execute( ` - SELECT COUNT(*) AS total FROM items_sold_out - WHERE shop_name = ? AND STR_TO_DATE(sold_out_date, '%b %e, %Y') - BETWEEN DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH, '%Y-%m-01') - AND LAST_DAY(CURDATE() - INTERVAL 1 MONTH) + SELECT COUNT(*) AS total + FROM items_sold_out + WHERE shop_name = ? + AND COALESCE( + STR_TO_DATE(sold_out_date, '%d %b %Y'), + STR_TO_DATE(sold_out_date, '%b %e, %Y') + ) + BETWEEN DATE_FORMAT(CURDATE() - INTERVAL 1 MONTH, '%Y-%m-01') + AND LAST_DAY(CURDATE() - INTERVAL 1 MONTH) `, [store.name] ); const [countLastWeek] = await db.execute( ` - SELECT COUNT(*) AS total FROM items_sold_out - WHERE shop_name = ? AND STR_TO_DATE(sold_out_date, '%b %e, %Y') - BETWEEN DATE_FORMAT(CURDATE() - INTERVAL 1 WEEK, '%Y-%m-01') - AND LAST_DAY(CURDATE() - INTERVAL 1 WEEK) - `, + SELECT COUNT(*) AS total + FROM items_sold_out + WHERE shop_name = ? + AND COALESCE( + STR_TO_DATE(sold_out_date, '%d %b %Y'), + STR_TO_DATE(sold_out_date, '%b %e, %Y') + ) + BETWEEN CURDATE() - INTERVAL 7 DAY + AND CURDATE() + `, [store.name] );