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

< что-либо> | вид | uniq-c | вид-n

даст Вам количество всех различных случаев < что-либо>.

Часто, awk, sed, или сокращение помогают с парсингом данных в < что-либо>.

16
задан I'm Geeker 30 June 2016 в 11:02
поделиться

4 ответа

Вы можете попробовать с Group By, например:

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, у вас есть «as», как и у меня. Для других db может быть без as (например, oracle)

18
ответ дан 30 November 2019 в 21:45
поделиться
select count(cat_id), main_cat_name, cat_url 
from mf_main
group by main_cat_name, cat_url
order by main_cat_name
1
ответ дан 30 November 2019 в 21:45
поделиться

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

0
ответ дан 30 November 2019 в 21:45
поделиться

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

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

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

5
ответ дан 30 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: