Q
如何找到在SQL
0
A
回答
1
這裏是查詢其只選擇這裏居然連續3行是行:
SELECT a.*
FROM
TABLE as a
inner join
TABLE as b on (a.no+1=b.no and a.id=b.id)
inner join
TABLE as c on (a.no+2=c.no and a.id=c.id)
order by a.id, a.no
爲您的數據將提供:
4 a1 4
5 a1 3
1 a2 2
2 a2 4
3 a3 2
4 a3 3
行(6,A1,1),(3 ,a2,5),(5,a3,4)沒有被選擇,因爲沒有(8,A1)(5,a2)和(7,A3)
+0
對我來說感謝幫助,但是這個查詢不好我的問題。 –
0
DECLARE @temp TABLE (NO int,ID VARCHAR(2),QTY int)
INSERT INTO @temp
SELECT 1,'A1',5 UNION ALL
SELECT 4,'A1',4 UNION ALL
SELECT 5,'A1',3 UNION ALL
SELECT 6,'A1',1 UNION ALL
SELECT 7,'A1',0 UNION ALL
SELECT 9,'A1',5 UNION ALL
SELECT 12,'A1',3 UNION ALL
SELECT 1,'A2',2 UNION ALL
SELECT 2,'A2',4 UNION ALL
SELECT 3,'A2',5 UNION ALL
SELECT 4,'A2',1 UNION ALL
SELECT 7,'A2',4 UNION ALL
SELECT 9,'A2',5 UNION ALL
SELECT 1,'A3',0 UNION ALL
SELECT 3,'A3',2 UNION ALL
SELECT 4,'A3',3 UNION ALL
SELECT 5,'A3',4 UNION ALL
SELECT 6,'A3',2;
WITH tmpa AS
(
SELECT *
, NO - ROW_NUMBER() OVER(PARTITION BY ID ORDER BY ID) AS grp
FROM @temp
)
, tmpb AS
(
SELECT *
, COUNT(*) OVER(PARTITION BY ID,grp) AS grpcount
FROM tmpa
)
SELECT NO,ID,QTY FROM tmpb WHERE grpcount>1;
結果是
4 A1 4
5 A1 3
6 A1 1
7 A1 0
1 A2 2
2 A2 4
3 A2 5
4 A2 1
3 A3 2
4 A3 3
5 A3 4
6 A3 2
我從此鏈接中找到此查詢。 Find 「n」 consecutive free numbers from table
+0
唯一的問題是......它給出了你預期的不同結果 –
相關問題
- 1. 如何找到在PL/SQL
- 2. 如何找到在SQL Server
- 3. 如何在sql表中找到str
- 4. SQL如何找到不在表
- 5. 如何在sql server中找到contactid?
- 6. 如何查找在SQL中找不到哪些數據記錄?
- 7. 如何在sql中找到另一列sql
- 8. 如何找到sql查詢行大小
- 9. sql:如何找到重複的行?
- 10. SQL如何找到非空列?
- 11. 需要找到sql表如何更新
- 12. 如何使用SQL找到父directoryId
- 13. 如何找到未使用的SQL Server
- 14. SQL-如何找到百分比
- 15. 如何找到一個SQL表
- 16. 如何找到我的T-SQL程序
- 17. SQL,如何找到列值的變化
- 18. SQL找不到任何值
- 19. 在sql中找到日期
- 20. SQL找到
- 21. SQL - 找到行
- 22. 如何在一天內找到剩下的秒數,在sql中?
- 23. 如何找到在衆多行連續的日期在SQL Server
- 24. 如何找到最大的候選人招募一年在SQL
- 25. Sql Server 2012:如何找到不在列表中的元素
- 26. 如何找到在SQL Server查詢最近的時間?
- 27. 如何找到在SQL查詢剩餘行
- 28. 如何在SQL服務器中找到記錄中的更改
- 29. 在SQL如何找到最低和最高值
- 30. 如何在T-SQL中找到mdf/ldf位置?
你受限於只使用SQL,或者你從另一種語言查詢? – austin1howard
爲什麼選擇行(6,a1,1),(3,a2,5)和(5,a3,4)?他們沒有第二和第三個連續的行 –
因此,對於任何特定的「ID」值,您要選擇具有最低「否」值且在「否」中連續的3行(因此,「Qty」我們選擇的行沒有作用)? –