あなたが表示するように、完璧なソリューション:
**
SELECT SUM(main_a.published) as published, SUM(main_a.draft) as draft, SUM(main_a.trash) as trash FROM (SELECT
IF (`status`= 'published' ,COUNT(*), 0 ) AS published,
IF (`status`= 'draft' , COUNT(*) , 0) AS draft,
IF (`status`= 'trash', COUNT(*) , 0) AS trash FROM posts GROUP BY `status` ) main_a
**
テーブル構造は次のようにする必要があることに注意してください。
CREATE TABLE `posts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`post` text,
`status` enum('published','draft','trash') DEFAULT NULL,
PRIMARY KEY (`id`)
)