2011-01-04 15 views
1

は私がMysqlの複数の行数?

id,action,date 
2,2,2010-03-01 
3,2,2010-03-01 
4,3,2010-03-01 
5,3,2010-03-01 
6,4,2010-02-01 
7,4,2010-02-01 

のような行の完全なデータベースを持っていると私はすべてのカウント、すべての2者とすべての3者とすべての4年代を選択します。しかし、私は3つの異なるSELECT COUNT()コマンドを実行する必要はありません。単一のコマンドでこれを行う方法はありますか?

注、私は

  • アクション2 = 2
  • アクション3 = 2
  • アクション4 = 2
  • (などなど)のようなものとして、これを表示したいです。

そして私はまた、特定の日付にする必要があります(それが唯一の例2010-02-03と2010-03-01間の日付のすべての2,3,4、などをカウント)

答えて

4
SELECT action 
     , Count(*) 
    FROM Table 
    WHERE date BETWEEN startDate AND EndDate 
GROUP BY Action 
0
SELECT COUNT(*) FROM table GROUP BY action 
0

あなたはGROUP BY actionです。また、WHERE id IN (2,3,4)と組み合わせて、それらのIDの行だけを取得することもできます。

0

SELECT COUNT(*)としてのカウントfrom tableA GROUP BY columnA dateFromとdateTOの間の日付