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 | + | |
</ | </ |