mysql:如何找到特定行的平均值?

eufgjt7s  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(387)

我有一个销售表,需要计算一个案件满足时的平均通话时间。我每天都在做查询。
我的问题是

SELECT AVG(case when (outcome= 'Sale1' or outcome='Sale2') then call_length else 0 end) as avg_call_length
FROM SALES 
WHERE year(call_date)='2018' and month(call_date)='7' and day(call_date)='30'

假设我有100条记录,那么avg\u call\u length除以100,而不是sale1或sale2的记录数。如何编写正确的查询?

lokaqttq

lokaqttq1#

删除 case 把条件转移到 where :

SELECT AVG(call_length) as avg_call_length
FROM SALES 
WHERE date(call_date) = '2018-07-30'
AND outcome IN ('Sale1', 'Sale2')

注意编码条件的简单方法。

相关问题