У меня есть некоторые проблемы при создании запроса, который дает мне среднее число суммы. Я считал несколько примеров здесь в stackoverflow и не мог сделать этого. Кто-либо может помочь мне понять, как сделать это? Это - данные, которые я имею:
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
В основном мне нужна средняя рыночная стоимость кассиром. Я не могу выполнить основное в среднем, потому что потребуются все строки, но каждая транзакция может иметь несколько строк. В конце я хочу иметь:
Cashier| Average|
131 | 44.31 |(Which comes from the sum divided by 3 transactions not 5 rows)
130 | 33.15 |
etc.
Это - запрос, я должен СУММИРОВАТЬ транзакции, но не знаю, как или где включать функцию AVG.
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'})
Любая справка ценится.
SELECT Cashier,
Sum(Sales_x0020_Value) / COUNT(DISTINCT Transaction_x0020_Number) AS 'avg'
FROM products
WHERE Date = {d'2010-06-04'}
GROUP BY Cashier