Подтвердить что ты не робот

Выбрать счетчик и другие записи в одном запросе

У меня есть следующий запрос

select main_cat_name,cat_url from mf_main order by main_cat_name

Это возвращает целые данные моей таблицы. Теперь я хочу иметь подсчет полных строк этой таблицы. Я могу сделать это, используя другой запрос, но как я могу использовать их в одном запросе???

Я хочу два данных ONE: - строки таблицы TWO: - счетчик как я могу это сделать в одном запросе

Я пробовал это, но он дает правильный счет, но отображает только первую строку таблицы:

select count(cat_id),main_cat_name,cat_url from mf_main order by main_cat_name
4b9b3361

Ответ 1

Вы можете попробовать с группой, как:

SELECT count(cat_id), main_cat_name, cat_url FROM mf_main GROUP BY main_cat_name, cat_url ORDER BY main_cat_name

Правильное решение я надеюсь:

Это то, что вам нужно:)

SELECT x.countt, main_cat_name, cat_url FROM mf_main, (select count(*) as countt FROM mf_main) as x ORDER BY main_cat_name

Если вы используете mysql u, у меня есть "как", как я. Для других db может быть без (как оракул)

Ответ 2

select count(cat_id), main_cat_name, cat_url 
from mf_main
group by main_cat_name, cat_url
order by main_cat_name

Ответ 3

Вы можете попробовать

select main_cat_name,cat_url,
COUNT(*) OVER () AS total_count
from mf_main
order by main_cat_name

Не уверен, что MySQL принимает AS, просто удалите его, если это не так.

Ответ 4

Если вы не используете запрос WHERE и не ограничиваете вывод каким-либо другим способом, например, используя GROUP BY, то количество строк в результате будет соответствовать количеству строк в таблице, поэтому вы можете использовать специальные методы драйвера базы данных для найдите количество строк, например mysql_num_rows в PHP

Ответ 5

Как только вы уже создали оператор select

уже есть запись num_rows вашего счета как num_rows