Помогите оптимизировать запрос.
Проблема в том что в подзапросах использование AS `name_pole` не даёт результата.
Ключами массива становиться подзапросы, но значение правильные.
array(
[(SELECT COUNT(`id`) FROM `stat` WHERE `id`)] => 313 ,
... т.д
)
Правильные ключи становяться в массиве после вот токого не оптимизированного кода (SELECT COUNT(`id`)....) AS `name_pole`
SELECT COUNT(`id`) AS `sms_todey`,SUM(`reward`) AS `sum_today`
,(SELECT COUNT(`id`) FROM `stat` WHERE `id`) AS `sms_total`
,(SELECT COUNT(`id`) FROM `stat` WHERE `time`>=? AND `time`<=?) AS `sms_lastday`
,(SELECT SUM(`reward`) FROM `stat` WHERE `time`>=? AND `time`<=?) AS `sum_lastday`
,(SELECT COUNT(`id`) FROM `stat` WHERE `time`>=?) AS `sms_week`
,(SELECT SUM(`reward`) FROM `stat` WHERE `time`>=?) AS `sum_week`
,(SELECT SUM(`reward`) FROM `stat` WHERE `id`) AS `sum_total`
,(SELECT SUM(`sum`)-SUM(`reward`) FROM `stat` WHERE `time`>=?) AS `profit_today`
,(SELECT SUM(`sum`)-SUM(`reward`) FROM `stat` WHERE `time`>=? AND `time`<=?) AS `profit_lastday`
,(SELECT SUM(`sum`)-SUM(`reward`) FROM `stat` WHERE `time`>=?) AS `profit_week`
,(SELECT SUM(`sum`)-SUM(`reward`) FROM `stat` WHERE `id`) AS `profit_total`
FROM `stat` WHERE `time`>=?
1381. Orel(Off) Жал|Отв
03:35:35 20.12.10
ofroke, спасибо, помогло, вот только я непонял Зачем GROUP BY .
===
ты же сказал, чтобы неповторялись повторные записи)
left join `#_base_ip` as `baseip` on (`logs`.`ip` between `baseip`.`min` AND `baseip`.`max`)
у меня сравнивает все диапазоны, а надо только 1, тоесть как лимит 1 присобачить?
просто еще ниже у меня идет продолжение запроса..
select
`logs`.*, `base`.`name`, `base`.`strana`
from `#_logs` as `logs`
left join `#_base_ip` as `baseip` on (`logs`.`ip` between `baseip`.`min` and `baseip`.`max` )
left join `#_base_oper` as `base` on (`baseip`.`oper` = `base`.`id`)
where `logs`.`link_id`='".$autorize['id']."' and `logs`.`data` > ".$statday." and `logs`.`data` <= ".$sday." ".$qsite." order by `logs`.`data` desc
limit 0, 20
вот такая вот 
ofroke,
ALTER TABLE `table_ip` ADD UNIQUE (`min`);
ALTER TABLE `table_ip` ADD UNIQUE (`max`);
Если не прокатит, то база ip у тя корявая. удаляй дубликаты