Select max value from multiple column

Jika kita punya tabel :

IDCOLOUMN Nilai1 Nilai2 Nilai3 Nilai4
101 1000 35000 0 75000
102 1200 35000 0 75000
103 0 50000 1000000 0
104 0 0 50000 0
304 0 200000 75000 0
305 0 100000 50000 0

lalu kita ingin mencari nilai max dari masing2 id, maka kita bisa menggunakan syntax :
SELECT     NAMATABEL.IDCOLOUMN, MAX(t.val) AS NILAIMAX
FROM         NAMATABEL INNER JOIN
                          (SELECT     IDCOLOUMN, NILAI1 AS val
                            FROM          NAMATABEL
                            UNION ALL
                            SELECT     IDCOLOUMN, NILAI2 AS val
                            FROM         NAMATABEL
                            UNION ALL
                            SELECT     IDCOLOUMN, NILAI3 AS val
                            FROM         NAMATABEL
                            UNION ALL
                            SELECT     IDCOLOUMN, NILAI4 AS val
                            FROM         NAMATABEL) t ON NAMATABEL.IDCOLOUMN = t.IDCOLOUMN COLLATE SQL_Latin1_General_CP1_CI_AS
GROUP BY NAMATABEL.IDCOLOUMN

Maka akan dihasilkan nilai seperti :

IDCOLOUMN NILAIMAX
101 75000
102 75000
103 1000000
104 50000
304 200000
305 100000

Semoga bermanfaat

Leave a Reply

Your email address will not be published. Required fields are marked *