I am having some problems creating a query that gives me the average of a sum. I read a few examples here in stackoverflow and couldn't do it. Can anyone help me to understand how to do this please? This is the data I have:
Transaction_x0020_Number Product_x0020_Code Sales_x0020_Value Date Cashier
000356 350 24.99 2010-06-04 131
000356 726 32.99 2010-06-04 131
000357 350 24.99 2010-06-04 131
000358 350 24.99 2010-06-04 131
000358 360 24.99 2010-06-04 131
000770 703 69.99 2010-06-04 130
000771 726 32.99 2010-06-04 130
000772 1126 5 2010-06-04 130
000773 482 32.99 2010-06-04 130
000774 600 32.99 2010-06-04 130
000775 350 24.99 2010-06-04 130
Basically I need the average transaction value by cashier. I can't run a basic avg because it will take all rows but each transaction can have multiple rows. At the end I want to have:
Cashier| Average|
131 | 44.31 |(Which comes from the sum divided by 3 transactions not 5 rows)
130 | 33.15 |
etc.
This is the query I have to SUM the transactions but don't know how or where to include the AVG function.
SELECT `products`.`Transaction_x0020_Number`,
Sum(`products`.`Sales_x0020_Value`) AS `SUM of Sales_x0020_Value`,
`products`.`Cashier`
FROM `products`
GROUP BY `products`.`Transaction_x0020_Number`, `products`.`Date`, `products`.`Cashier`
HAVING (`products`.`Date` ={d'2010-06-04'})
Any help is appreciated.
SELECT Cashier,
Sum(Sales_x0020_Value) / COUNT(DISTINCT Transaction_x0020_Number) AS 'avg'
FROM products
WHERE Date = {d'2010-06-04'}
GROUP BY Cashier
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With