我正在尝试进行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
这给了我交易和计数的总和。有了这个,我可以将总和除以计算得到平均花费。但是,我希望能够将Average作为一个直接从数据库中获取的值,而不是在我得到它之后操纵数据。
有没有办法做到这一点?我曾经在一个选择中写了一个选择但是避风港;到目前为止还有很多运气,所以在这里问。
提前致谢
答案 0 :(得分:4)
MySQL内置了平均函数。
SELECT AVG(price) AS averageSpend, customerName
FROM customers, transactions
WHERE customers.customerId = transactions.customerId
AND transactiontypeId = 1
GROUP BY customers.customerId