[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получить в массив только результат запроса
Bust_Ed
Привет.

Есть запрос вида

SELECT
match
.team1_set1_point + match.team1_set2_point + match.team1_set3_point + IFNULL(match.team1_set4_point,0) + IFNULL(match.team1_set5_point,0) as `Team1Points`,
match.team2_set1_point + match.team2_set2_point + match.team2_set3_point + IFNULL(match.team2_set4_point,0) + IFNULL(match.team2_set5_point,0) as `Team2Points`,
IF (match.team1_set1_point > match.team2_set1_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1),
IF (match.team1_set2_point > match.team2_set2_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1),
IF (match.team1_set3_point > match.team2_set3_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1),
IF (match.team1_set4_point IS NOT NULL, IF (match.team1_set4_point > match.team2_set4_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1), @Team1SetPoints),
IF (match.team1_set5_point IS NOT NULL, IF (match.team1_set5_point > match.team2_set5_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1), @Team1SetPoints),
@Team1SetPoints AS `Team1SetPoints`,
@Team2SetPoints AS `Team2SetPoints`,
FROM table


В массиве PHP получаю примерно вот это:
[Team1Points] => 51
[Team2Points] => 75

[IF (match.team1_set1_point > match.team2_set1_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1)] => 1
[IF (match.team1_set2_point > match.team2_set2_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1)] => 2
[IF (match.team1_set3_point > match.team2_set3_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1)] => 3
[IF (match.team1_set4_point IS NOT NULL, IF (match.team1_set4_point > match.team2_set4_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1), @Team1SetPoints)] => 0
[IF (match.team1_set5_point IS NOT NULL, IF (match.team1_set5_point > match.team2_set5_point, @Team1SetPoints := @Team1SetPoints + 1, @Team2SetPoints := @Team2SetPoints + 1), @Team1SetPoints)] => 0
[Team1SetPoints] => 0
[Team2SetPoints] => 3


Проблема в том, что таких записей около 4000. Ну, может и не очень много, но я специально вычисления делаю в SQL, чтобы не гонять их в PHP. И в массиве мне нужны только результаты. Не то, что они мне мешают, но я так понимаю, раз они есть - они занимают память, и если вдруг 1000 человек одновременно зайдет, то... Ну зачем лишняя нагрузка?

Как результаты вычислять в SQL, но в PHP передавать только результат? :) Т.е. чтобы в массив передавалось (ну и, соотв, память не занимало) только то, что жирным выделено?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.