Подсчет для нескольких значений с одним запросом в MySQL

0

У меня есть таблица, подобная

Name      CountryCode 
kabul       AFG
herat       AFG
haag        NLD
tilburg     NLD
breda       NLD
mumbai      IND
delhi       IND
chennai     IND

если вы хотите получить счет города для CountryCode AFG поэтому я буду правильно select Count(Name) from city where CountryCode = AFG; запрос select Count(Name) from city where CountryCode = AFG; и я получу результат

Count(Name)
        2

но если я хочу рассчитывать на CountryCode AFG, NLD, IND в одном запросе, например

count(Name)
        2
        3
        3

Как написать запрос, чтобы получить результат?

  • 0
    я не знаю город под названием haag в Нидерландах. В Нидерландах есть город под названием den haag
Теги:

2 ответа

3
SELECT CountryCode, COUNT(*) 
FROM table 
WHERE CountryCode IN ('AFG','NLD','IND') 
GROUP BY CountryCode;
  • 1
    Должно быть WHERE CountryCode IN ('AFG','NLD','IND')
  • 0
    Спасибо @RaymondNijland
0

Поэтому, если я правильно понял вопрос, это должно работать

SELECT COUNT (*) FROM myTable 
  WHERE CountryCode = 'AFG'
  OR CountryCode = 'NLD'
  OR CountryCode = 'IND' 
  • 0
    Это позволит получить количество строк с одним из этих CountryCodes, но не количество каждого из трех.
  • 0
    О чувак. Я думал, что это то, что мы хотели. Сожалею.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню