Это кажется прямым, но мне трудно понять это. У меня есть таблица, где я сравниваю записи внутри группы (group_id). Я дал свои записи флаг, основанный на определенных критериях, которые были уместны для моего исследования. Есть около 10 флагов, которые мне нужно посмотреть. В некоторых случаях в пределах группы помещается только одна запись. В других случаях обе записи помечены.Как я могу сделать «раздел» внутри группы на основе критериев?
Что мне сейчас нужно сделать, это разделить мой group_id на основе дат для каждого обозначения флага. У меня есть 3 периода времени, на которые я хотел бы обратить внимание: 2016, 2010 -2015, до 2010 года, и обе записи одинаковы. Они отражены в моем поле «file_date», которые не настроены как данные типа даты. вместо этого у них есть abcsum (лето) и abcwin (зима) обозначение, с годом. В некоторых случаях это поле имеет значение NULL.
Что я хотел бы сделать, это создать еще один флаг, который будет иметь «победитель» раздела, на основе которого был выбран один из этих критериев даты. Важность критериев от последнего к последнему. Вот некоторые примеры данных, я надеюсь, объяснять его дальше:
------------------------------
|group_id | file_date | flag |
-------------------------------
| a | abcsum16 | 3 |
| a | abcwin16 | |
| b | null | 4 |
| b | abcsum15 | 4 |
| c | abcwin16 | 7 |
| c | abcwin16 | 7 |
| d | abcsum09 | 3 |
| d | null | |
-------------------------------
Выход будет:
|group_id | file_date | flag | date_flag |
--------------------------------------------
| a | abcsum16 | 3 | 1 |
| b | abcsum15 | 4 | 2 |
| c | abcwin16 | 7 | 0 |
| c | abcwin16 | 7 | 0 |
| d | abcsum09 | 3 | 3 |
-------------------------------------------
Это неясно. Как вы назначили значения (0, 1, 2, 3) на date_flag? Существует три «класса» по дате (2016, 2010-2016 и «до 2009 года»). Что означает «обе записи одинаковы» и как это влияет на дату_flag? И почему строки с «flag = NULL» исчезают из вывода? – mathguy
К сожалению, флаги даты следующие: 1 = в 2016 году, 2 = между 2010 и 2015 годами и 3 - это что-то> 2010, в некоторых случаях у меня есть обе записи с тем же «file_date», это те, которые будут принимать 0, так как я не могу различить две даты. Причина, по которой я не включал нулевые поля, состоит в том, что я не могу их использовать, я полагаю, они могут использовать другой код флага, означающий, что они являются нулевыми. – user7002207