I have these results:
COL1 | COL2 | COL3 | COL4 | COL5 | ID |
-------|-------|-------|-------|-------|-----|
1 | 0 | 0 | 0 | 0 | 9 |
0 | 0 | 0 | 0 | 5 | 9 |
0 | 2 | 0 | 0 | 0 | 9 |
0 | 0 | 0 | 4 | 0 | 9 |
And I want order values with not null values first with group ID column;
COL1 | COL2 | COL3 | COL4 | COL5 | ID |
-------|-------|-------|-------|-------|-----|
1 | 2 | 4 | 5 | 0 | 9 |
My Query;
select max(COL1), max(COL2), max(COL3), max(COL4), max(COL5), ID FROM MY_TABLE GROUP BY ID
Then query gave me;
COL1 | COL2 | COL3 | COL4 | COL5 | ID |
-------|-------|-------|-------|-------|-----|
1 | 2 | 0 | 4 | 5 | 9 |
EDIT actually my_table is sub-query table. sub-query might be confusing. MY original Table is:
ID | VALUE | SPEC_ID
----|-------|--------
1 | 1 | 9
2 | 2 | 9
3 | 4 | 9
4 | 5 | 9
5 | 1 | 8
6 | 3 | 8
and I want:
COL1 | COL2 | COL3 | COL4 | COL5 | ID |
-------|-------|-------|-------|-------|-----|
1 | 2 | 4 | 5 | 0 | 9 |
1 | 3 | 0 | 0 | 0 | 8 |