Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| database:requetes-sql-utiles [2024/05/24 19:48] – jpmilcent | database:requetes-sql-utiles [2024/05/25 07:44] (Version actuelle) – [Déterminer les groupes d'identifiant contigu] jpmilcent | ||
|---|---|---|---|
| Ligne 184: | Ligne 184: | ||
| Requête SQL permettant de déterminer les groupes de suites d' | Requête SQL permettant de déterminer les groupes de suites d' | ||
| <code sql> | <code sql> | ||
| - | SELECT grp, " | + | SELECT |
| + | grp, | ||
| + | " | ||
| + | " | ||
| + | COUNT(id_data) | ||
| + | td.nbr AS to_download | ||
| FROM ( | FROM ( | ||
| - | | + | SELECT |
| - | grp, | + | grp, |
| - | MIN(id) AS " | + | MIN(id) AS " |
| - | MAX(id) AS " | + | MAX(id) AS " |
| - | FROM ( | + | FROM ( |
| - | SELECT | + | SELECT |
| - | id, | + | id, |
| - | SUM(rst) OVER (ORDER BY id) AS grp | + | SUM(rst) OVER (ORDER BY id) AS grp |
| - | FROM ( | + | FROM ( |
| - | SELECT | + | SELECT |
| - | id_synthese AS id, | + | id_synthese AS id, |
| - | CASE WHEN COALESCE(LAG(id_synthese + 10000) OVER (ORDER BY id_synthese), | + | CASE WHEN COALESCE(LAG(id_synthese + 10000) OVER (ORDER BY id_synthese), |
| - | FROM gn2pg_flavia.id_synthese_pole_invertebres AS ispi | + | FROM gn2pg_flavia.id_synthese_pole_invertebres AS ispi |
| - | LEFT JOIN gn2pg_flavia.data_json AS dj | + | LEFT JOIN gn2pg_flavia.data_json AS dj |
| - | ON ispi.id_synthese = dj.id_data | + | ON ispi.id_synthese = dj.id_data |
| - | WHERE dj.id_data IS NULL | + | WHERE dj.id_data IS NULL |
| - | ORDER BY ispi.id_synthese ASC | + | ORDER BY ispi.id_synthese ASC |
| - | ) t | + | ) AS t |
| - | ) t | + | ) AS t |
| - | GROUP BY grp | + | GROUP BY grp |
| - | ORDER BY 1 | + | ORDER BY 1 |
| - | ) AS d | + | ) AS d |
| - | LEFT JOIN gn2pg_flavia.data_json AS dj | + | LEFT JOIN gn2pg_flavia.data_json AS dj |
| - | ON dj.id_data > d.min AND dj.id_data < d.max | + | ON dj.id_data > d.min AND dj.id_data < d.max, |
| - | GROUP BY d.grp, d." | + | LATERAL ( |
| + | SELECT COUNT(id_synthese) AS nbr | ||
| + | FROM gn2pg_flavia.id_synthese_pole_invertebres | ||
| + | WHERE id_synthese > d.min AND id_synthese < d.max | ||
| + | ) AS td | ||
| + | WHERE td.nbr > 0 | ||
| + | GROUP BY d.grp, d." | ||
| ORDER BY d.grp; | ORDER BY d.grp; | ||
| </ | </ | ||
| Ligne 216: | Ligne 227: | ||
| Résultats : | Résultats : | ||
| < | < | ||
| - | |grp|min | + | |grp|min |
| - | |---|----------|----------|-----|-----| | + | |---|----------|----------|----------|-----------| |
| - | |1 | + | |1 |5 839 897 |
| - | |2 | + | |2 |
| - | |3 | + | |3 |
| - | |4 | + | |4 |
| - | |5 |15 542 006 |15 542 006 |0 | + | |5 |
| - | |6 | + | |6 |
| - | |7 |15 843 950 |15 843 951 |0 | + | |
| - | |8 | + | |
| - | |9 | + | |
| </ | </ | ||