Table1という名前の次のMySQLテーブルがあります
結果は、合格または不合格のいずれかになります。各IDの合格率を計算したいと思います。
結果は、式に基づいて次の表になる必要があります。各IDについて、指定されたIDのパス/合計カウントをカウントします。たとえば、ID 2には2つの合格があり、2つは不合格であるため、合格率= 2/4です。
以下の私のSQLクエリは間違った結果を与えています
SELECT id,COUNT(Result) * 100 / (SELECT COUNT(Result) FROM aa WHERE Result = 'Pass') as Percent
FROM aa
GROUP BY id
助けてください
次のような条件付き集計を実行できます。
select id, avg(result = 'Pass') as pass_ratio
from mytable
group by id
のコンテキストではavg()
、条件result = 'Pass'
は1
trueおよび0
falseの場合と同様に評価されます。これらの値を平均して、「合格」の比率を取得できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加