SQL Server を使用して、クエリ結果の最初の出現にラベルを付けようとしているので、このような結果については...
次のように、それぞれの最初のものを識別できます。
これはケースステートメントまたは類似のもので行うことができますか? 大変助かりました!
ありがとう
SQL Server を使用して、クエリ結果の最初の出現にラベルを付けようとしているので、このような結果については...
次のように、それぞれの最初のものを識別できます。
これはケースステートメントまたは類似のもので行うことができますか? 大変助かりました!
ありがとう
これは、CTE (SQL 2005 以降) と over 句およびランキング関数を使用して行うことができます。
Breakfast
あなたが最初に見たいものに関して他の基準があると思います. を使ってそれORDER BY
を指定してください.
RowNumber
その後、それが何回発生したかを教えてください。
あなたが適応するための以下の例
DECLARE @tbl TABLE (
Breakfast VARCHAR(10)
);
INSERT INTO @tbl VALUES ('Eggs')
INSERT INTO @tbl VALUES ('Fish')
INSERT INTO @tbl VALUES ('Fish')
INSERT INTO @tbl VALUES ('Eggs')
INSERT INTO @tbl VALUES ('Bacon')
INSERT INTO @tbl VALUES ('Bacon')
INSERT INTO @tbl VALUES ('Eggs')
INSERT INTO @tbl VALUES ('Fish')
INSERT INTO @tbl VALUES ('Bacon')
;WITH t AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY Breakfast ORDER BY Breakfast) AS RowNumber
FROM @tbl
)
SELECT Breakfast, (CASE WHEN RowNumber = 1 THEN 1 ELSE 0 END) As FirstOccurance
FROM t