2011-01-04 2 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
  • (и т.д. и т.п.).

И я также потребуется конкретной даты (так он считает только все 2,3,4 и т.д. дат между 2010-02-03 и 2010-03-01, например)

ответ

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

GROUP BY action Ваш запрос. Также вы можете объединить его с WHERE id IN (2,3,4), чтобы получить только строки для этих идентификаторов.

0

SELECT COUNT (*) as count FROM tableA GROUP BY columnA WHERE DATE МЕЖДУ dateFrom AND dateO

Смежные вопросы