6
Staram się rozwiązać ten problem. Mam taki stół.Zamów przez FIELD w MYSQL
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| C | 5 |
| B | 4 |
+-------------+-------+
Chcę zapytać o tabelę, a wynik musi być taki.
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| B | 5 |
| C | 9 |
| D | 0 |
+-------------+-------+
zapytania:
select type , COUNT from TABLE order by FIELD(type,'A','B','C','D') ;
Działa to dobrze, jeśli kolumna type
ma wartość do 'A, B, C, D'. W niektórych przypadkach zamówienie według niektórych kolumn może nie mieć wartości w tabeli. W tym przypadku chcę wstawić 0 i skonstruować wynik.
D nie ma w tabeli. Więc wpisz "0".
SHOW CREATE tabela wyjściowa
CREATE TABLE `Summary` (
`TIMESTAMP` bigint(20) NOT NULL DEFAULT '0',
`type` varchar(50) NOT NULL DEFAULT '',
`COUNT` bigint(19) NOT NULL,
PRIMARY KEY (`TIMESTAMP`,`type`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
można opublikować schemat tabeli? jest tabelą z 'type' i' count' zestawem wynikowym lub oryginalną tabelą? –
@JohnWoo Opublikowalem mój program, tworzymy wynik tabeli. – kannanrbk
dlaczego nie próbuj z domyślną wartością kolumny set count jako 0 'COUNT' bigint (19) NOT NULL DEFAULT '0' – Sathish