sql среднее от суммы, деленной на количество - PullRequest
0 голосов
/ 07 ноября 2011

Я пытаюсь выполнить SQL-запрос, чтобы получить средние расходы для конкретного клиента.

Я написал следующий SQL-код (в данном примере это несколько урезано) ..

SELECT SUM(price) as sumPrice, COUNT(transactionId) as transactionCount, customerName
FROM customers, transactions
WHERE customers.customerId = transactions.customerId
AND transactiontypeId = 1
GROUP BY customers.customerId

Это дает мне сумму транзакции и количество. После этого я могу разделить сумму на количество, чтобы получить средние расходы. Однако я хотел бы иметь возможность получать среднее значение как значение прямо из базы данных, а не манипулировать данными, как только я их получу.

Есть ли способ сделать это? Я поиграл с написанием выбора внутри выбора, но пока мне не повезло, поэтому я спрашиваю здесь.

Заранее спасибо

1 Ответ

4 голосов
/ 07 ноября 2011

MySQL имеет встроенную функцию среднего значения.

SELECT AVG(price) AS averageSpend, customerName
FROM customers, transactions
WHERE customers.customerId = transactions.customerId
AND transactiontypeId = 1
GROUP BY customers.customerId
...