-1

良い一日。

データベース: MySQL

テーブル:

name (varchar 200)
status (enum 'open','close','pause')

すべてのステータスでカウントnameをすべて取得するには、4 つのクエリを使用する必要があります。

SELECT count(*) FROM TABLE //count all names
SELECT count(*) FROM TABLE where status = open //count names where status = open
SELECT count(*) FROM TABLE where status = close //count names where status = close
SELECT count(*) FROM TABLE where status = pause //count names where status = pause

1 つのSQL クエリですべてのカウントを取得する方法を知っている人はいますか?

4

4 に答える 4

2
SELECT count(*) as total_count,
       sum(status = 'open') as status_open_count,
       sum(status = 'close') as status_close_count,
       sum(status = 'pause') as status_pause_count
FROM TABLE
于 2013-10-11T09:57:52.010 に答える
2

以下のクエリを使用します。

SELECT status, count(name) as cnt FROM TABLE GROUP BY status;
于 2013-10-11T09:58:20.557 に答える
1

あなたが試すことができます

Select Count(Status),Status,(Select Count(Status) as TotalCount From TABLE) From TABLE Group By Status;
于 2013-10-11T10:53:33.057 に答える
-1

別の選択肢: -

SELECT status, COUNT(*) as aCount,
FROM TABLE
GROUP BY status
UNION ALL 
SELECT 'All', COUNT(*) as aCount,
FROM TABLE
于 2013-10-11T10:13:02.737 に答える