2014-11-02 3 views
0

Ниже приведены два SQL-таблица:Количество запросов на одной колонке

  • класса (1-100),
  • Пол (мужской/женский)

Я хочу считать каждый пол в каждый класс. Я ожидаю, что результаты запроса будут следующими:

Classroom | CountMale | CountFemale 
      |   | 
      |   | 
      |   | 

Как я могу получить счет?

+0

Вам понадобится «GROUP BY» и «PIVOT». Но, пожалуйста, отметьте, какие РСУБД вы говорите. –

ответ

0

Может быть что-то вроде этого:

SELECT Classroom, 
     SUM(CASE WHEN GENDER = 'MALE' THEN 1 ELSE 0 END) AS CountMale, 
     SUM(CASE WHEN GENDER = 'FEMALE' THEN 1 ELSE 0 END) AS CountFemale 
FROM TABLE 
GROUP BY Classroom 

Изменение литералы.

+0

Спасибо! Это сработало. У вас есть ссылка на этот учебник? –

1
SELECT Classroom, 
SUM(CASE WHEN Gender='male' THEN 1 ELSE 0 END) as CountMale, 
SUM(CASE WHEN Gender='female' THEN 1 ELSE 0 END) as CountFemale 
FROM t 
GROUP BY Classroom 
+1

Пятно на ответ :) –

+0

Спасибо! Можете ли вы найти мне учебник для этого? –

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