Все еще изучая SQL и очень признателен за любую помощь или совет по этому вопросу. У меня есть таблица со столбцом значений и двумя столбцами ИД, которые указывают, к какой группе принадлежит эта строка, то есть:Ранг SQL с приоритетом
значение | GroupA | GroupB
12 | 1 | 0
16 | 1 | 0
19 | 0 | 1
11 | 1 | 0
30 | 0 | 1
16 | 0 | 1
Я хотел был бы заказать эту таблицу в порядке убывания, но присвоить приоритет ранжированию тем строкам с 1 в группе A, прежде чем оценивать те, что находятся в группе B. Результат должен выглядеть примерно так.
стоимость | GroupA | GroupB | Ранг
12 | 1 | 0 | 2
16 | 1 | 0 | 1
19 | 0 | 1 | 5
11 | 1 | 0 | 3
30 | 0 | 1 | 4
16 | 0 | 1 | 6
Почему ваша таблица имеет два бита столбцы GroupA, GroupB, чтобы указать, к какой группе она принадлежит? Это должен быть столбец 'int' как внешний ключ таблицы' Group', а 'GroupA',' GroupB' должны быть именами каждой группы. –
Являются ли обе группы взаимоисключающими? Ваши данные образца могут привести к тому, что один бит может указать, к какой группе относится значение: 1 = A, 0 = B. Могут ли быть дополнительные группы в будущем? Как они будут упорядочены, когда значение принадлежит нескольким группам? – HABO
Группы взаимоисключающие. Однако в будущем может быть больше групп. Я не уверен, что буду следить за тем, почему я не должен хранить группу в столбцах бит. Вы предлагаете один столбец, определяющий, к какой группе принадлежит? –