我有一個表Pontuation(Pontuacao)和住宿(Estadia)的唯一編號,我想計算每個住宿的平均Pontuation。 這是表:不同的結果爲相同的查詢,但功能內
Estadia | Pontuacao
-------------------
5 | 5
-------------------
5 | 5
所以我做了這個funcion:
delimiter $$
create function mediapontuacao(estadia int)
returns float
begin
declare media float;
select sum(Pontuacao)/count(*) into media
from EstadiaUtilizador
where Estadia = estadia;
return media;
end $$
如果我這樣做
select mediapontuacao(5); //calculate average pontuation of the accomodation which number is 5
該查詢給了我396.5值。 但如果我這樣做
select sum(Pontuacao)/count(*)
from EstadiaUtilizador
where Estadia = 5;
換句話說計算其數量是5,我寫的函數應該做同樣的事情,這個查詢給我的5.00的值,它是正確的住宿的平均pontuation回答。 我覺得爲什麼我得到不同的價值時,它應該給予相同的價值,我覺得很困惑。
這是問題,我認爲它是不同的。謝謝。 –