6
我正在努力解決這個問題。我有這樣的桌子。在MYSQL中按字段排序
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| C | 5 |
| B | 4 |
+-------------+-------+
我想查詢表和結果必須是這樣的。
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| B | 5 |
| C | 9 |
| D | 0 |
+-------------+-------+
QUERY:
select type , COUNT from TABLE order by FIELD(type,'A','B','C','D') ;
它工作正常,如果該列type
具有用於 'A,B,C,d' 的值。在某些情況下,FIELD('A','B','C','D')
某些列的排列在表中可能沒有價值。在這種情況下,我想爲其設置0並構造一個結果。 D表不在表中。所以把它放在'0'。
SHOW CREATE TABLE輸出
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
你可以發表你的表的模式?是'type'和'count'結果集或原始表本身的表? –
@JohnWoo我發佈了我的show create table輸出。 – kannanrbk
爲什麼不嘗試設置計數列默認值爲0'COUNT' bigint(19)NOT NULL DEFAULT'0' – Sathish