Я пытаюсь указать строки на основе двух столбцов - я не могу четко сформулировать то, что я пытаюсь сделать, поэтому в этом случае я надеюсь, что следующие таблицы тысячи слов.sql server - количество результатов с использованием двух столбцов
Учитывая следующую таблицу:
Name | Car Colour
-------------------
Alice | Red
Alice | Green
Alice | Blue
Bill | Orange
Bill | Purple
Carol | Brown
Carol | Orange
Carol | Magenta
Carol | Indigo
Carol | Lilac
Carol | White
как бы вы показать следующее:
Name | Car Colour | Indiv. Car Index
-------------------------------------------
Alice | Red | 1
Alice | Green | 2
Alice | Blue | 3
Bill | Orange | 1
Bill | Purple | 2
Carol | Brown | 1
Carol | Orange | 2
Carol | Magenta | 3
Carol | Indigo | 4
Carol | Lilac | 5
Carol | White | 6
Edit - спасибо за ваши быстрые ответы - они работают в SQL Server 2008, но могу я, пожалуйста спросить Какова будет альтернатива SQL Server 2000? - Кажется, он не распознает ROW_NUMBER().
Какую версию SQL Sever вы используете? –
Итак, каждое «Имя» получает другую нумерацию, но как мы используем «Colour», чтобы узнать, какой индекс назначить. Для «Алисы» он выглядит обратным алфавитным порядком, но для «Билла», похоже, (вперед) в алфавитном порядке, и нет никакого шаблона, который я могу различить для «Кэрол». Есть ли еще один столбец, который вы не показали нам, который фактически определяет порядок? –
К сожалению, я должен был упомянуть, что индекс не является функцией конкретного «Car Colour» - он просто зависит от количества цветов автомобилей, которые есть у каждого человека. – category