我在努力解决这个问题。 我有一个这样的表。
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| C | 5 |
| B | 4 |
+-------------+-------+
我要查询的表,其结果必然是这样的。
+-------------+-------+
| type | COUNT |
+-------------+-------+
| A | 1 |
| B | 5 |
| C | 9 |
| D | 0 |
+-------------+-------+
查询:
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