Подсчет количества строк с параметром - PullRequest
1 голос
/ 28 декабря 2011

У меня есть этот запрос:

$queryf = "SELECT * FROM classifieds 
WHERE city IN ('$cities') AND state IN ('$states') 
ORDER BY FIELD (city, '$cities'), datetime DESC";

$ towns - это массив близлежащих городов в пределах 5 миль. То же самое с государствами.

По сути, я хочу найти в своей таблице информации о пользователях информацию, введенную пользователем (например, таблицу типов craigslist / adss), и СЧИТАТЬ количество строк на ГОРОД. Так что можно повторить что-то вроде:

10 results found within 5 miles:
Dublin, CA (8 records)
Hayward, CA (2 records)

Кто-нибудь знает, как я смогу отследить / вернуть количество строк, в которых город идентичен?

Ответы [ 3 ]

1 голос
/ 28 декабря 2011

Да.

MySQL имеет целый набор функций и ключевых слов для такого рода агрегации .

Прочтите документацию для вашего SELECT заявления , особенно когда речь идет о предложении GROUP BY.

0 голосов
/ 28 декабря 2011

Попробуйте использовать GROUP BY:

SELECT city, COUNT(1) AS count FROM classifieds 
WHERE city IN ('$cities') AND state IN ('$states') 
GROUP BY city
0 голосов
/ 28 декабря 2011

A GROUP BY вместе с COUNT() должны дать вам то, что вам нужно:

$queryf = "SELECT *, count(classifieds.id) AS num_cities FROM classifieds 
WHERE city IN ('$cities') AND state IN ('$states') 
GROUP BY city
ORDER BY FIELD (city, '$cities'), datetime DESC";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...