有999行,他們有不同的0-1000號碼,其中缺少一個號碼。如何使用SQL查詢找到該號碼?如何使用SQL從單列表中找到缺少的數字?
回答
使用這樣的事情:
SELECT Min(ID) As firstMissedID
FROM (
SELECT *, ROW_NUMBER() OVER (ORDER BY ID) rn
FROM std) dt
WHERE rn < ID
表是'std',列名是'id '在0-10項之間有9個記錄,其中3號缺失。現在請給我具體的查詢。 –
不知道這是最好的方法,但它會工作。
創建臨時表與列,以保存整數值 = @ temptbl1
與填充值表1:1000,然後運行此查詢將返回唯一的,如果它不包含在你的數據表中的條目。
select value from @temptable1 where value not in (select Othervalue from othertable)
select語句將返回所有缺少的值。
我假設數列將只有數從0到1000
declare @minnumber int
declare @missingnumber int
select @minnumber=min(number) from Test
if(@minnumber=0)
begin
--500500 is the sum of 1 to 1000 number
select @missingnumber=500500-sum(number) from Test
end
else
begin
set @missingnumber=0
end
巧妙。得到了我的投票。但是,如果OP假設是錯誤的。那麼方法也是如此。 – Drew
整潔的解決方案。但只適用於固定的數據集。 –
謝謝:))但是,如果假設是真的,那麼總是沒有問題..我認爲它會更快。我們也可以將500500的硬編碼值移到n個值的總和中。創建任何額外的表以及繁重的代碼。 –
使用tally table
獲得1000行列表,然後使用LEFT OUTER JOIN
或NOT EXISTS
尋找失蹤的人數
WITH Tally (n) AS
(
-- 1000 rows
SELECT ROW_NUMBER() OVER (ORDER BY (SELECT NULL))
FROM (VALUES(0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) a(n)
CROSS JOIN (VALUES(0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) b(n)
CROSS JOIN (VALUES(0),(0),(0),(0),(0),(0),(0),(0),(0),(0)) c(n)
)
SELECT Min(n)
FROM Tally T
LEFT OUTER JOIN YOURTABLE Y
ON T.N = Y.MISSING_NUM_COLUMN
WHERE Y.MISSING_NUM_COLUMN IS NULL
如果您想查找缺失的數字列表,請從最近的select
查詢中刪除MIN
運算符。
SELECT Missing_Numbers = n
FROM Tally T
LEFT OUTER JOIN YOURTABLE Y
ON T.N = Y.MISSING_NUM_COLUMN
WHERE Y.MISSING_NUM_COLUMN IS NULL
- 1. 如何在使用sqlserver的表中找到缺失的數字?
- 2. 在無序列表中查找缺少的數字
- 3. 如何在使用SQL的系列中查找缺少的元素?
- 4. 我需要找到從表中缺少ID從另一個表
- 5. 如果數組中缺少1個以上的數字,如何找到這些缺失的數字?
- 6. csv.writer.writerows從列表中缺少的行
- 7. 數組 - 在序列中查找缺少的數字
- 8. 如何在數組或mySQL表中查找缺少的數據?
- 9. 從堆棧和鏈接列表JAVA中缺少數字?
- 10. 如何找到缺少的程序集?
- 11. 如何找到缺少的Web部分?
- 12. 從數組中查找缺少的數字
- 13. SSIS缺少使用快速加載的SQL表中的數據
- 14. SQL查詢更新表從另一個表中缺少字段
- 15. SQL Server數據頁中缺少字節
- 16. 使用'select into table'在sql server中複製表時缺少列的缺省值
- 17. 如何查找缺少的數據
- 18. 如何從數據庫表中找到缺席的考勤
- 19. Django錯誤 - 指從表單中缺少的字段'0123'
- 20. 「'到'缺少'在單獨的列(tidyr)
- 21. 使用列表輸入數據使用psycoyg2 python(缺少數據)
- 22. queryid列pg_stat_statements表中缺少
- 23. 如何從零列表中找到SQL中的百分比?
- 24. 找到:缺少參數到-exec
- 25. 如何使用PL/SQL查找表中的空列數
- 26. 如何從列表數組中找到最低字段
- 27. 如何從缺少count的另一個表中顯示缺少的行值?
- 28. 我如何找到MS Access中使用缺少的引用的地方
- 29. 的NodeJS - 缺少)後的參數列表
- 30. JavaScript的:缺少)後的參數列表
列或行? –
真的999列? –
對不起龍蝦!請原諒愚蠢的錯誤 –