以下のような学生の等級のヒストグラムを保持するテーブルgrades
を使用すると、列名をインデックスに変換するunpivotが必要です。離散値のピボットヒストグラムデータ
CREATE TABLE grades
AS
SELECT name, exams, grade_poor, grade_fair, grade_good, grade_vgood
FROM (VALUES
('arun' , 8 , 1 , 4 , 2 , 1),
('neha' , 10 , 3 , 2 , 1 , 4),
('ram' , 5 , 1 , 1 , 3 , 0),
('radha' , 8 , 0 , 3 , 1 , 4)
) AS t(name,exams,grade_poor,grade_fair,grade_good,grade_vgood);
グレードは、次のように数値に索引付けできます。
+-------------+--------+
| grade | value |
+-------------+--------+
| grade_poor | 1 |
| grade_fair | 2 |
| grade_good | 3 |
| grade_vgood | 4 |
+-------------+--------+
の予想される出力
+-------+-------+
| name | grade |
+-------+-------+
| arun | 1 |
| arun | 2 |
| arun | 2 |
| arun | 2 |
| arun | 2 |
| arun | 3 |
| arun | 3 |
| arun | 4 |
| neha | 1 |
| neha | 1 |
| neha | 1 |
| neha | 2 |
| neha | 2 |
| neha | 3 |
| neha | 4 |
| neha | 4 |
| neha | 4 |
| neha | 4 |
| radha | 2 |
| radha | 2 |
| radha | 2 |
| radha | 3 |
| radha | 4 |
| radha | 4 |
| radha | 4 |
| radha | 4 |
| ram | 1 |
| ram | 2 |
| ram | 3 |
| ram | 3 |
| ram | 3 |
+-------+-------+
質問と回答hereはそれをやってのPostgresの道を示しています。
は固有の名前ですか、それともid列ですか? – GurV
@GurVこれらはユニークと見なすことができます。 – user3206440