sqlite - 查询在缺失时填充连续值

问题描述 投票:0回答:1

我正在编写一个查询,该查询返回源表中字段“RR”上缺失的连续值(其他字段显然应为空) 所以我写了一个 cte 表来生成从 1 到 10 的序列并且它有效

WITH generate_sequence(rr) AS(SELECT 1 UNION ALL SELECT rr+1 FROM generate_sequence LIMIT 10)
SELECT * FROM generate_sequence

我把这个 cte 放在我的桌子的左连接中

SELECT * FROM generate_sequence LEFT JOIN StoricoSistemiResults ON generate_sequence.rr = StoricoSistemiResults.rr
ORDER BY Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto, NumeriGiocati, RR

但是这个查询没有给我丢失的行

这是源表

BEGIN TRANSACTION;
CREATE TABLE IF NOT EXISTS "StoricoSistemiResults" (
    "Id"    INTEGER NOT NULL,
    "SessionId" TEXT NOT NULL,
    "Title" TEXT,
    "NomeSistema"   TEXT,
    "TipoSistema"   TEXT,
    "Giocata"   INTEGER,
    "DataEstrazioneConfronto"   TEXT,
    "NumeroEstrazioneConfronto" INTEGER,
    "RR"    INTEGER,
    "NumeriGiocati" INTEGER,
    "MatchCount"    INTEGER,
    "MatchNumeri"   TEXT,
    "Schedina"  TEXT,
    "Vincita"   INTEGER,
    "VincitaImporto"    INTEGER,
    "ConfrontoMatchCount"   INTEGER,
    "ConfrontoMatchNumeri"  TEXT,
    "ConfrontoSchedina" TEXT,
    "ConfrontoVincita"  INTEGER,
    "ConfrontoVincitaImporto"   INTEGER,
    "Annotazioni"   TEXT,
    PRIMARY KEY("Id" AUTOINCREMENT)
);
INSERT INTO "StoricoSistemiResults" ("Id","SessionId","Title","NomeSistema","TipoSistema","Giocata","DataEstrazioneConfronto","NumeroEstrazioneConfronto","RR","NumeriGiocati","MatchCount","MatchNumeri","Schedina","Vincita","VincitaImporto","ConfrontoMatchCount","ConfrontoMatchNumeri","ConfrontoSchedina","ConfrontoVincita","ConfrontoVincitaImporto","Annotazioni") VALUES 
 (1295,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,4,3,1,'43','22.87.43',0,0,1,'55','30.55.61',0,0,''),
 (1296,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,3,3,0,'','35.53.2',0,0,1,'29','10.29.79',0,0,''),
 (1297,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,2,3,0,'','72.65.48',0,0,1,'20','20.33.88',0,0,''),
 (1298,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,1,3,2,'40.41','40.59.41',1,2,0,'','42.45.71',0,0,''),
 (1299,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,0,3,0,'','7.74.66',0,0,0,'','8.38.66',0,0,''),
 (1300,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,4,6,3,'28.43.67','22.28.67.50.43.64',1,2,4,'24.29.40.85','24.26.29.36.40.85',1,10,''),
 (1301,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,3,6,2,'55.84','84.10.55.2.69.53',0,0,1,'85','5.11.16.65.77.85',0,0,''),
 (1302,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,2,6,1,'20','3.20.78.8.72.57',0,0,2,'43.85','3.8.35.43.48.85',0,0,''),
 (1303,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,1,6,1,'40','76.40.9.27.70.59',0,0,1,'46','7.26.42.46.75.81',0,0,''),
 (1304,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',27,0,6,3,'23.34.46','34.30.68.23.46.45',1,2,0,'','26.33.54.66.78.86',0,0,''),
 (1305,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,5,3,2,'4.71','71.4.87',1,2,0,'','5.11.18',0,0,''),
 (1306,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,3,3,0,'','38.57.48',0,0,1,'7','7.26.48',0,0,''),
 (1307,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,2,3,1,'27','70.61.27',0,0,2,'6.46','6.46.69',1,2,''),
 (1308,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,1,3,1,'12','73.44.12',0,0,0,'','28.50.75',0,0,''),
 (1309,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,0,3,1,'1','34.84.1',0,0,2,'31.71','31.71.80',1,2,''),
 (1310,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,5,6,2,'4.71','64.87.50.4.22.71',0,0,1,'25','13.25.32.48.66.75',0,0,''),
 (1311,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,3,6,0,'','57.79.72.38.78.65',0,0,0,'','28.35.44.51.61.65',0,0,''),
 (1312,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,2,6,1,'25','61.32.13.70.25.76',0,0,1,'6','6.38.60.65.66.85',0,0,''),
 (1313,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,1,6,2,'7.12','44.42.73.7.12.63',0,0,1,'74','9.16.30.53.61.74',0,0,''),
 (1314,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',28,0,6,3,'20.46.56','20.56.46.29.28.55',1,2,2,'27.81','5.22.27.40.81.83',0,0,''),
 (1315,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,4,3,1,'65','48.8.65',0,0,2,'1.69','1.11.69',1,2,''),
 (1316,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,3,3,0,'','32.16.76',0,0,0,'','26.33.70',0,0,''),
 (1317,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,2,3,2,'68.73','68.73.63',1,2,1,'68','54.57.68',0,0,''),
 (1318,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,1,3,1,'29','40.29.34',0,0,0,'','17.26.78',0,0,''),
 (1319,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,0,3,1,'10','45.10.47',0,0,1,'88','26.71.88',0,0,''),
 (1320,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,4,6,1,'65','3.78.72.65.79.38',0,0,1,'88','6.16.33.62.79.88',0,0,''),
 (1321,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,3,6,0,'','32.16.13.70.59.61',0,0,1,'5','2.5.19.33.47.55',0,0,''),
 (1322,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,2,6,1,'73','62.63.30.73.66.42',0,0,0,'','23.27.30.47.56.76',0,0,''),
 (1323,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,1,6,1,'29','52.55.21.40.29.34',0,0,1,'60','35.36.45.58.60.66',0,0,''),
 (1324,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',29,0,6,1,'10','10.36.71.6.47.27',0,0,3,'68.75.84','26.59.62.68.75.84',1,2,''),
 (1325,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,5,3,0,'','57.78.79',0,0,1,'33','33.67.79',0,0,''),
 (1326,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,4,3,0,'','61.70.32',0,0,0,'','4.78.82',0,0,''),
 (1327,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,3,3,0,'','30.44.66',0,0,0,'','18.34.36',0,0,''),
 (1328,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,2,3,2,'21.40','40.21.28',1,2,1,'5','5.28.38',0,0,''),
 (1329,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,1,3,1,'56','56.46.19',0,0,0,'','37.46.78',0,0,''),
 (1330,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,0,3,1,'10','29.60.10',0,0,1,'51','18.27.51',0,0,''),
 (1331,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,5,6,0,'','38.3.48.8.78.57',0,0,0,'','3.23.34.65.86.87',0,0,''),
 (1332,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,4,6,1,'16','61.32.16.59.70.76',0,0,2,'10.51','10.14.42.50.51.78',0,0,''),
 (1333,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,3,6,0,'','30.62.63.44.66.42',0,0,0,'','14.39.45.55.67.86',0,0,''),
 (1334,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,2,6,3,'21.40.51','51.40.21.67.28.24',1,2,2,'10.51','4.10.34.51.54.80',0,0,''),
 (1335,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,1,6,1,'56','6.46.56.25.27.43',0,0,1,'85','43.49.54.63.66.85',0,0,''),
 (1336,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',30,0,6,4,'9.10.69.75','37.9.69.10.75.73',1,10,2,'9.71','9.32.38.42.67.71',0,0,''),
 (1337,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,6,3,2,'72.78','48.78.72',1,2,0,'','8.23.47',0,0,''),
 (1338,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,5,3,1,'76','13.76.70',0,0,1,'45','36.45.48',0,0,''),
 (1339,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,4,3,0,'','44.62.66',0,0,0,'','3.52.87',0,0,''),
 (1340,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,3,3,1,'55','55.23.28',0,0,0,'','15.67.85',0,0,''),
 (1341,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,2,3,1,'45','45.19.7',0,0,0,'','18.57.59',0,0,''),
 (1342,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,1,3,0,'','65.87.74',0,0,0,'','5.10.18',0,0,''),
 (1343,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,0,3,1,'64','64.9.20',0,0,0,'','23.31.71',0,0,''),
 (1344,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,6,6,2,'72.78','8.48.3.78.79.72',0,0,1,'56','5.31.56.71.74.85',0,0,''),
 (1345,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,5,6,2,'61.76','70.59.13.61.32.76',0,0,1,'60','7.21.60.65.68.83',0,0,''),
 (1346,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,4,6,0,'','66.30.44.62.63.42',0,0,0,'','32.38.44.58.75.84',0,0,''),
 (1347,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,3,6,3,'24.34.55','52.23.34.24.67.55',1,2,3,'55.64.77','27.32.55.59.64.77',1,2,''),
 (1348,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,2,6,1,'45','19.6.4.45.27.47',0,0,1,'78','4.14.15.38.52.78',0,0,''),
 (1349,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,1,6,1,'60','60.37.74.87.49.86',0,0,1,'22','4.22.42.62.80.84',0,0,''),
 (1350,'e9f0d29e-8354-4969-804a-1e521813b43e','prova ordinamento NumeriGiocati, RR, Date(DataEstrazioneConfronto), NumeroEstrazioneConfronto','Pick from imminente caldo','Mono',1,'2023-11-10',31,0,6,0,'','41.71.40.9.31.5',0,0,2,'56.72','6.23.44.56.63.72',0,0,'');

 COMMIT;
sql sqlite
1个回答
0
投票

您还需要

NumeroEstrazioneConfronto
NumeriGiocati
才能找到丢失的
RR
?

SELECT NumeroEstrazioneConfronto, NumeriGiocati, rr
FROM StoricoSistemiResults

如果是,则拥有所有可能的值:

WITH all_rr(rr) AS(
    values (1),(2),(3),(4),(5), (6), (7), (8), (9), (10)
), all_numero AS (
    SELECT DISTINCT NumeroEstrazioneConfronto, NumeriGiocati
    FROM StoricoSistemiResults
)
SELECT *
FROM all_numero
CROSS JOIN all_rr;

最后:

WITH all_rr(rr) AS(
    values (1),(2),(3),(4),(5), (6), (7), (8), (9), (10)
), all_numero AS (
    SELECT DISTINCT NumeroEstrazioneConfronto, NumeriGiocati
    FROM StoricoSistemiResults
), all_numero_rr AS (
    SELECT *
    FROM all_numero
    CROSS JOIN all_rr
)
SELECT *
FROM all_numero_rr a    
LEFT JOIN StoricoSistemiResults s
    ON a.NumeroEstrazioneConfronto = s.NumeroEstrazioneConfronto
    AND a.NumeriGiocati = s.NumeriGiocati
    AND a.rr = s.rr

NULL 是缺失的行

© www.soinside.com 2019 - 2024. All rights reserved.