Я хочу подсчитать количество отдельных элементов на основе каждого идентификатора в другом столбце.Подсчитайте различные элементы на основе группы по предложению
Например
Color Value
Red 1
Red 1
Red 2
Red 2
Blue 3
Blue 3
Я хочу, чтобы счетчик, чтобы показать, что Red имеет 2 различных значения и Синие имеет только 1. И избавиться от строк, которые имеют более высокие из этих различных значений, когда подсчет различного больше 1. В этом случае я хотел бы избавиться от строк, которые говорят «Красный» для цвета и 2 для значения.
Color Value
Red 1
Red 1
Blue 3
Blue 3
Вот мой реальный вопрос: В этом случае FormSectionID бы цвет и myrank будет значение. Есть ли способ использовать это как подзапрос и получить то, что я хочу?
SELECT DISTINCT TFormSectionID AS FormSectionID,
TFSSortOrder AS SectionSortOrder,
TSectionItemID AS SectionItemID,
TrendType,
DENSE_RANK() OVER (ORDER BY TFSSortOrder) AS myrank
FROM Report.TrendData
WHERE (ProgramID = 9) AND (TrendType > 0)
Real Data
FormSectionID SectionSortOrder SectionItemID TrendType Rank
12 7 90 1 1
12 7 91 1 1
12 7 154 1 1
12 7 528 1 1
12 9 154 1 2
12 9 528 1 2
Почему в вашем ожидаемом результате есть 2 ряда Blue? – Squirrel
Поскольку отдельный счетчик не будет больше 1 для значений синего. Значения для синего только содержат 3. – James
@Squirrel Я думаю, он просто хочет отфильтровать любое значение для группы цветов, которая не является минимальным значением в этой группе. –