-2
A
回答
2
使用ROW_NUMBER(的)應該啓用該
select
breakfast
, case when rn = 1 then 1 else 0 end as first_occur
from (
select
breakfast
, row_number() over (partition by breakfast order by ID DESC) as rn
from your_table
) as x
但它不是由已知的順序是什麼(我假定ID DESC),表中可能會有日期時間或其他內容用於此目的。
1
您可以使用帶過子句和排序功能的CTE(SQL 2005及更高版本)做到這一點。
我想你會有一些你想看到的第一個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
0
試試這個使用SQL Server窗函數:
相關問題
- 1. SQL:只返回第一次出現
- 2. SQL列表中的一個值至少在列表中出現一次
- 3. 找到第一,第二,第三和第四次出現在工作表中特定的列標題vba
- 4. LINQ - 在組中的第一次出現
- 5. 給定的值的列表中刪除第一次出現
- 6. 第一次和第二次在PostgreSQL中出現行ID
- 7. 在SQL數據庫中查找元素的第一次出現
- 8. 第一次出現分割
- 9. 與第一次出現
- 10. 匹配第一次出現?
- 11. 匹配 - 第一次出現
- 12. SQL檢查列不止一次出現
- 13. Popovers沒有出現在第一次點擊,但出現在第二次點擊
- 14. SQL - 在現有臨時表中追加標識列
- 15. 在SQL Azure的現有列表中設置標識
- 16. 如何刪除一個整數的第一次出現在列表中
- 17. 在第一次出現在MySQL
- 18. 保持第二次出現在一列中的R
- 19. 在第一次出現唯一值時用1標記記錄
- 20. 刪除從列表匹配準則第一次出現
- 21. 正則表達式第一次出現在全文中
- 22. 爲「1」的行中第一次出現
- 23. 顯示的「空間」第一次出現在一列
- 24. 在第一次和第二次出現序列之間獲取文本
- 25. 如何在T-SQL表變量中重新標識一個標識列?
- 26. 僅更新SQL中第一次出現的id
- 27. SQL Server中刪除一切從第二次出現到結束
- 28. SQL - 更新最後一次出現在第
- 29. 如何在第一次出現後選擇列表中的所有內容?
- 30. 用於僅選擇在第一列中具有相同數據的行的第一次出現的SQL查詢
「第一次」 由什麼命令? –