Выбрать счетчик и другие записи в одном запросе
У меня есть следующий запрос
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
Ответы
Ответ 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