Трудно выразить словами то, что я пытаюсь сделать. Мои знания в SQL слишком слабы, чтобы использовать правильную терминологию, поэтому я попытаюсь проиллюстрировать это в качестве примера.
Скажем, у меня есть большая таблица, состоящая из столбцов "value", "user" и "type"
value|user_id|type|
100| 1| 1|
200| 1| 1|
100| 1| 2|
722| 1| 3|
48| 2| 1|
724| 2| 2|
175| 2| 3|
1) Я вычисляю сумму «value» для каждого «user_id» для каждого «type».
SELECT SUM("value"), "user_id", "type" from "table" group by "user_id", "type"
, давая мне
value|user_id|type|
300| 1| 1|
100| 1| 2|
722| 1| 3|
48| 2| 1|
724| 2| 2|
175| 2| 3|
2) I хотите получить ранг "user_id" для каждого "типа" на основе "значения".
Для типа 1 значение для пользователя 1 больше, чем для пользователя 2, поэтому пользователь 1 занимает 1 и 2 ранги 2. Для типа 2 значение для пользователя 2 больше ...
Другими словами, я хочу создать таблицу для пользователя 1:
rank|type
1|1
2|2
1|3
и для пользователя 2:
rank|type
2|1
1|2
2|3
Буду очень признателен за помощь.