3 つの異なる成績 A、B、C のパーセンテージを計算したい
1 product have A grade
5 products have B grade
3 products gave C grade
SQL - このクエリは 3 行を返します
SELECT count(*) FROM table1 WHERE pid = '480' AND grade IN
( SELECT DISTINCT grade FROM table1 )
GROUP BY grade
------------------------
CCA_ST2 count(*)
------------------------
A 1
B 5
C 3
------------------------
パーセンテージを計算するにはどうすればよいですか?
( SELECT count(*) FROM table1 WHERE pid = '480' AND grade IN
( SELECT DISTINCT grade FROM table1 )
GROUP BY grade
)
DIVIDE BY
( SELECT COUNT(*) FROM table1 WHERE pid = '480' ) * 100
このクエリで試しました
SELECT grade,
( SELECT count(*) FROM table1 WHERE pid = '480' AND grade IN
( SELECT DISTINCT grade FROM table1 )
GROUP BY grade
)
/
( SELECT count(*) FROM table1 WHERE pid = '480' )
* 100
AS score
FROM table1 GROUP BY grade
このエラーが発生しました。どうすればこれを解決できますか
subquery returns more than one row
私は本当にこれのための手順を作成したくありません。これはクエリで実行できることを知っています。しかし、今日はとても怠け者です。