Home > Enterprise >  Get sales total and GROUP BY DAY with Sale price x Amount -Discount
Get sales total and GROUP BY DAY with Sale price x Amount -Discount

Time:10-24

I'm trying get a total of sales by day teaking into count the amount of item sold and if any discount apply. This is what I have.

item_sale_price item_sale_qty discount_percentage sale_date
250000 5 10 2021-06-01
100000 1 0 2021-06-02
25000 2 5 2021-06-02
SELECT item_sale_price * item_sale_qty - (item_sale_price * item_sale_qty - (discount_percentage / 100)) AS total_per_day 
FROM sales_items where sale_date BETWEEN '$startdate' AND '$enddate' GROUP BY DAY(sale_date)";

CodePudding user response:

You must multiply item_sale_price by 1 - discount_percentage / 100 to get the price after discount.
Also you should use SUM() aggregate function to get the total:

SELECT SUM(item_sale_qty * item_sale_price * (1 - discount_percentage / 100)) AS total_per_day 
FROM sales_items 
WHERE sale_date BETWEEN '$startdate' AND '$enddate' 
GROUP BY DAY(sale_date);

I'm not sure why you group by DAY(sale_date) and not just sale_date.

This makes more sense:

SELECT sale_date,
       SUM(item_sale_qty * item_sale_price * (1 - discount_percentage / 100)) AS total_per_day 
FROM sales_items 
WHERE sale_date BETWEEN '$startdate' AND '$enddate' 
GROUP BY sale_date;
  • Related