У меня есть данные в этом формате.Ввод того же ранга в схожие значения
ID Group Flag
1 A Y
2 A Y
3 A Y
4 A Y
5 A N
6 A N
7 A N
8 B N
9 B Y
10 B Y
11 B Y
12 B N
13 B N
14 B N
Я хочу получить ранжирование переменных в следующем порядке.
ID Group Flag Rank
1 A Y 1
2 A Y 1
3 A Y 1
4 A Y 1
5 A N 0
6 A N 0
7 A N 0
8 B N 0
9 B Y 2
10 B Y 2
11 B Y 2
12 B N 0
13 B Y 3
14 B Y 3
Может кто-нибудь скажет мне, как получить этот результат?
резюме, почему конкретный порядок выше результата:
Я хочу взять максимум значений для каждой группы, где флаг = «Y». Значения будут выбраны, только если они будут поступать непрерывно. Например, в случае B, я получу 2 максимальные значения вместо 1. Таким образом, идея состоит в том, чтобы дифференцировать флаги в пределах каждой группы
Тестовые данные:
CREATE TABLE #TEST
(
GROUPP VARCHAR(2),
fLAG VARCHAR(2)
)
INSERT INTO #TEST
SELECT 'A', 'Y' UNION ALL
SELECT 'A', 'Y' UNION ALL
SELECT 'A', 'Y' UNION ALL
SELECT 'A', 'Y' UNION ALL
SELECT 'A', 'N' UNION ALL
SELECT 'A', 'N' UNION ALL
SELECT 'A', 'N' UNION ALL
SELECT 'B', 'N' UNION ALL
SELECT 'B', 'Y' UNION ALL
SELECT 'B', 'Y' UNION ALL
SELECT 'B', 'Y' UNION ALL
SELECT 'B', 'N' UNION ALL
SELECT 'B', 'N' UNION ALL
SELECT 'B', 'N'
Как вы приказывая эти результаты? Если у вас есть какой-то столбец «ID», который вы можете заказать, нет никакой гарантии, что ваш заказ будет таким же. SQL представляет * неупорядоченные * наборы данных. – Siyual
Без чего-либо заказать, у вас возникнет проблема с 'B Y 3' –
Невозможно установить шаблон в результате. Можете ли вы добавить какое-то описание к выходу? –