Народ, помогите составить запрос, а то всю голову сломал. Есть таблица: Code: +----+------+-------+-----+ | id | stat | summ | cat | +----+------+-------+-----+ | 7 | 0 | 100 | 4 | | 6 | 1 | 16542 | 1 | | 8 | 0 | 70 | 5 | | 9 | 0 | 100 | 5 | | 10 | 0 | 200 | 3 | | 11 | 0 | 97 | 4 | | 12 | 1 | 43 | 6 | | 13 | 0 | 27 | 7 | | 14 | 0 | 14 | 4 | | 15 | 0 | 387 | 2 | | 16 | 0 | 66 | 4 | | 17 | 0 | 40 | 7 | | 18 | 0 | 3500 | 8 | | 19 | 0 | 140 | 2 | | 20 | 0 | 45 | 4 | | 21 | 0 | 36 | 4 | | 22 | 0 | 25 | 9 | +----+------+-------+-----+ id - понятно, stat -статус, summ - сумма, cat - категория. дык вот, надо отсюда родить сумму "summ" для каждой категории, приэтом суммировать только где категория равна 0, и отсортировать по этой сумме. Из моих мучений максимум родился скрипт который по очереди считает для каждой категории, но он не сортирует по сумме "summ" =((
нет, cat - это кошка Не совсем понял понял слова суммировать, т.к. на сколько я понял у тебя уже готовые суммы хранятся. Или поясни с чем суммировать? В общем из того что я понял, запрос будет примерно таким: Code: SELECT `summ` FROM `table` WHERE `id` IN(1,2,3) AND `cat` = '0' ORDER by `summ` ASC Или поясни поподробнее )
Code: select sum(summ) from table where cat='5' and stat='0'; Оно выдаст результат для 5ой категории, и равен он буит 170. А мине нать тоже самое, тока сразу для всех категорий, и упорядочить по ентой сумме, которя sum()
"де категория равна 0" Я так понял где stat равен нулю? Тогда как то так Code: SELECT `cat`, SUM(`summ`) as `sum` FROM `table` WHERE `stat`=0 GROUP BY `cat` ORDER BY `sum` И еще... где тут собственно сложный запрос то?