2016-02-20 3 views
0

У меня есть таблица со следующей структурой:MySQL цикл запроса для группы столбцов в одном запросе

Table1 
    +----------------+-------------+ 
    | ID | Condition | Color  | 
    +----------------+-------------+ 
    | 1 | FAIR  | RED   | 
    +----------------+-------------+ 
    | 2 | GOOD  | Red   | 
    +----------------+-------------+ 
    | 3 | Great  | BLACK  | 
    +----------------+-------------+ 
    | .. | ..  | ..   | 
    +----------------+-------------+ 

Хочу рассчитывать все условия по цвету. Таким образом, простой запрос будет:

SELECT COUNT(ID) Total FROM Table1 WHERE Condition="FAIR" AND Color="RED" 

это возвращает количество строк, где состояние FAIR и цвет RED. Можно ли включить все возможные результаты? Итак, таблица, которая дает count (id) для всех условий с одним запросом вместо нескольких запросов?

+----------------+-------------+ 
    | Total | Condition | Color | 
    +----------------+-------------+ 
    | 5 | FAIR  | RED  | 
    +----------------+-------------+ 
    | 6 | FAIR  | BLUE  | 
    +----------------+-------------+ 
    | 2 | Great  | RED  | 
    +----------------+-------------+ 
    | .. | ..  | ..  | 
    +----------------+-------------+ 

Существует множество фиксированных значений для условия и цвета, за исключением пустых значений.

ответ

2

Похоже, что вы ищете group by:

SELECT COUNT(ID) Total, Condition, Color 
FROM Table1 
GROUP BY Condition, Color 
Смежные вопросы