私はこれを解決するのに苦労しています。私はこのようなテーブルを持っています。
+-------------+-------+
| 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」を入力します。
CREATETABLEOUTPUTを表示する
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