特定の item_id にゼロ以外の値が 2 つ以上存在する場合にのみ、値の AVG を計算したいと考えています。ゼロ以外の値が 2 つ以上存在しない場合、AVG を計算したくありません。
現在のSQLは以下です。おそらく最初に if 節があるべきでしょうか? ... 何かアイデアはありますか?
SELECT AVG( days_since ) AS days_out
FROM (
SELECT days_since
FROM user_123
WHERE item_id = 645
AND days_since <> 0
ORDER BY id DESC
LIMIT 5
) AS recent
If 句が機能するようです。
IF SELECT COUNT (*), item_id, days_since >= 2
where days_since <>0, then perform AVG...