Значит, есть таблица table:
Код
id key weight
-------------------------------------------
1 1 1
1 2 4
2 1 3
2 3 0
3 4 2
-------------------------------------------
1 1 1
1 2 4
2 1 3
2 3 0
3 4 2
Как сделать запрос к MySQL таким образом, чтобы на выходе получилась выдача множества id, отсортированных по сумме весов weight, склеенных относительно key?
Например:
Задаем key со значением 1 на выходе получаем выдачу:
Код
id sum(weight для key=1) ORDER BY sum(weight для key=1)
------------------------------------------
1 1
2 3
------------------------------------------
1 1
2 3
Задаем key со значением 1 или 2 на выходе получаем:
Код
id sum(weight для key=1 || key=2) ORDER BY sum(weight для key=1 || key=2)
------------------------------------------
2 3
1 5
------------------------------------------
2 3
1 5
Колонка sum(weight для key=1) и sum(weight для key=1 || key=2) это результат работы MySQL по суммированию weight, относительно которых будет проходить сортировка выдачи id.
В результате запрос должен получиться типа такого (который сейчас, естественно, не работает):
SELECT id FROM table WHERE key=1 || key=2 ORDER BY weight AS SUM
Помогите советом. Какой запрос к MySQL должен быть?

Заранее спасибо за дельные советы.
Спустя 49 минут, 56 секунд (31.07.2008 - 10:15) sergeiss написал(а):
Если я правильно понял вопрос, запрос должен быть таким:
SELECT ID, SUM( WEIGHT)
WHERE KEY=1
GROUP BY ID
ORDER BY ID
Для обоих ключей задаем WHERE KEY=1 OR KEY=2, можно писать разные условия, например WHERE KEY>=1 AND KEY<=3. Ну, и все возможные комбинации условий
При этом мы:
1. Выбираем для определеных KEY
2. Группируем по ID
3. Находим сумму весов в каждой группе (т.е. для каждого ID)
4. Сортируем по ID
SELECT ID, SUM( WEIGHT)
WHERE KEY=1
GROUP BY ID
ORDER BY ID
Для обоих ключей задаем WHERE KEY=1 OR KEY=2, можно писать разные условия, например WHERE KEY>=1 AND KEY<=3. Ну, и все возможные комбинации условий

При этом мы:
1. Выбираем для определеных KEY
2. Группируем по ID
3. Находим сумму весов в каждой группе (т.е. для каждого ID)
4. Сортируем по ID