Итак, у меня есть таблица my_table
| userid | gender | year | money |
| ------ | ------ | ---- | ----- |
| 1 | B | 12 | 50 |
| 1 | B | 24 | 150 |
| 1 | B | 36 | 5 |
| 1 | G | 0 | 0 |
| 1 | G | 12 | 120 |
| 1 | G | 48 | 120 |
| 2 | B | 12 | 23 |
| 2 | B | 24 | 56 |
| 2 | G | 36 | 23 |
| 3 | G | 0 | 234 |
| 3 | G | 12 | 34 |
| 4 | G | 0 | 0 |
Я хочу вернуть строку с максимальными доступными деньгами в зависимости от пола.Так, например, таблица возврата для пола B будет выглядеть как
| userid | gender | year | money |
| ------ | ------ | ---- | ----- |
| 1 | B | 24 | 150 |
| 2 | B | 24 | 56 |
А таблица возврата для пола G будет выглядеть как
| userid | gender | year | money |
| ------ | ------ | ---- | ----- |
| 1 | G | 12 | 120 |
| 1 | G | 48 | 120 |
| 2 | G | 36 | 23 |
| 3 | G | 0 | 234 |
| 4 | G | 0 | 0 |
Но так как таблица для пола G дублироваласьстоимость денег, я хочу, чтобы вернуть строку с самым высоким годом.Ожидаемая таблица для пола G:
| userid | gender | year | money |
| ------ | ------ | ---- | ----- |
| 1 | G | 48 | 120 |
| 2 | G | 36 | 23 |
| 3 | G | 0 | 234 |
| 4 | G | 0 | 0 |
То, что я пробовал: http://sqlfiddle.com/#!9/5433cbc/2 Я могу получить таблицу для пола B, но не для пола G.
Что яПопытка достичь - это сгенерировать таблицу, объединяющую обе таблицы выше по полу.Пример,
| userid | year_b | max_money_for_b | year_g | max_money_for_g |
| ------ | ------ | --------------- | ------ | --------------- |
| 1 | 24 | 150 | 48 | 120 |
| 2 | 24 | 56 | 36 | 23 |
| 3 | null | null | 0 | 234 |
| 4 | null | null | 0 | 0 |