Mit einer Tabelle grades
, die Histogramm Noten für Studenten wie unten enthält, müssen es konvertieren die Spaltennamen in Indizes.Un-Pivot Histogramm Daten von diskreten Werten
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);
Die Noten können auf numerische Werte indiziert werden - zum Beispiel als unten.
+-------------+--------+
| grade | value |
+-------------+--------+
| grade_poor | 1 |
| grade_fair | 2 |
| grade_good | 3 |
| grade_vgood | 4 |
+-------------+--------+
Erwartete Ausgabe
+-------+-------+
| 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 |
+-------+-------+
Die Frage und Antwort here zeigt die Postgres Art und Weise tun.
sind Namen eindeutig oder gibt es eine ID-Spalte? – GurV
@ GurV sie können als uniq betrachtet werden. – user3206440