MySQL & PHP - лучший способ получить список по убыванию количества стран из таблицы базы данных - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь составить (для отображения на веб-странице) список стран и количество из MySQL БД. Записи находятся в таблице, и мне нужно отобразить на странице список стран в БД в порядке их количества.

Итак, я знаю, как получить список стран из базы данных с, например,

SELECT COUNT(*) FROM table_name WHERE country_code='GB'

И я знаю, как получить список стран, например,

SELECT DISTINCT country_code FROM table_name;

Но я изо всех сил пытаюсь собрать все вместе и получить список только тех стран, которые на самом деле находятся в БД, затем их количество, а затем расположите их в порядке убывания.

Ищу легкий толчок в правильном направлении, чтобы узнать, как это сделать.

Ответы [ 2 ]

3 голосов
/ 19 июня 2020
SELECT
COUNT(*),
country_code
FROM table_name
GROUP BY country_code

GROUP BY - это то, что вам нужно для этого типа проблем.

При необходимости вы можете добавить ORDER BY в конец запроса.

0 голосов
/ 19 июня 2020

Попробуйте:

select count (*), country_code from (SELECT DISTINCT country_code FROM table_name)

Но правильный способ - использовать GROUP BY

select count(*), country_code 
from table_name
group by country_code

Чтобы получить их, упорядоченные по дате для ex, вы выполните:

select count (*), country_code from 
(SELECT DISTINCT country_code 
 FROM table_name
 order by date
)

Или (используя group by):

select count(*), country_code 
from table_name
group by country_code
order by date
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...