Как это делать правильно?

Serguitar

Новичок->продвинутый
Как это делать правильно?

Помогите правильно составить запрос.
Можно ли одним запросом получить и общее число строк в таблице, и число строк, удовлетворяющих определённому условию? Т.е. как объеденить два запроса в один.
SELECT COUNT(*) FROM table и
SELECT COUNT(*) FROM table WHERE a=$a
 

Мутник

Новичок
Serguitar

нельзя. в каком виде ты их хочешь получить? можешь себе представить?
 

Crazy

Developer
[ задумчиво ] и чем вам union не угодил... Только я бы еще одно поле в каждый запрос добавил... :)
 

Мутник

Новичок
Crazy

не, ну можно конечно в каждую строку добавить по total_count но не чушь ли это???

второй запрос будет КУДА более быстро работать, чем UNION.
 

Crazy

Developer
Код:
SELECT COUNT(*) num, 'all' kind FROM table
union
SELECT COUNT(*) num, 'filtered' kind FROM table WHERE a=$a
второй запрос будет КУДА более быстро работать, чем UNION.
В самом деле? Ты это проверил?
 

itprog

Cruftsman
Сорри, кое-что перепутал...


[Здесь было неправильное решение]
 

Serguitar

Новичок->продвинутый
Crazy
Спасибо.
Фанат
по моему мнению, это не нужно.
Мне показалось, что более эффективным выводить именно одним запросом. Хотя раньше тоже считал как ты. Проверю на скорость, а там видно будет.
Всем удачи.
 
Сверху