我創建了一個有3列的視圖:service_id,professional_id和avg(評級),這個視圖工作正常。分組和分組功能?
CREATE VIEW nota_profissionais
AS
SELECT
service_id, professional_id, avg(nota) AS nota_media
FROM
avaliacao, servico_executado, solicitacao
WHERE
avaliacao.service_id = servico_executado.id
AND servico_executado.id_solicitacao = solicitacao.id
GROUP BY
service_id, professional_id;
現在,每個service_id
返回(每種類型的服務),我需要證明它具有最佳的平均等級的專業。我試着這樣做:
SELECT
service_id, professional_id, MAX(nota_media) AS nota_media
FROM
nota_profissionais
GROUP BY
service_id, professional_id;
但它從視圖返回同樣的事情,顯示出每service_id爲每professional_id。我知道爲什麼發生這種情況,但不知道如何正確執行此查詢。對不起,如果我不清楚,因爲英語不是我的母語。
今天提示:切換到現代,明確的'JOIN'語法!更容易編寫(沒有錯誤),更易於閱讀,並且更容易轉換爲外連接(如果需要)。 – jarlh