database:requetes-sql-utiles

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
database:requetes-sql-utiles [2021/10/19 08:51] – [Différents calculs du rayon moyen d'un polygone] jpmilcentdatabase:requetes-sql-utiles [2024/05/25 07:44] (Version actuelle) – [Déterminer les groupes d'identifiant contigu] jpmilcent
Ligne 181: Ligne 181:
 </code> </code>
  
 +===== Déterminer les groupes d'identifiant contigu =====
 +Requête SQL permettant de déterminer les groupes de suites d'identifiants non contigü et le nombre d'id compris dedans :
 +<code sql>
 +SELECT 
 + grp, 
 + "min", 
 + "max", 
 + COUNT(id_data) AS downloaded, 
 + td.nbr AS to_download
 +FROM (
 + SELECT 
 + grp,
 + MIN(id) AS "min", 
 + MAX(id) AS "max"
 + FROM (
 + SELECT 
 + id, 
 + SUM(rst) OVER (ORDER BY id) AS grp
 + FROM (
 + SELECT 
 + id_synthese AS id,
 + CASE WHEN COALESCE(LAG(id_synthese + 10000) OVER (ORDER BY id_synthese), 0) < id_synthese THEN 1 END AS rst
 + FROM gn2pg_flavia.id_synthese_pole_invertebres AS ispi 
 + LEFT JOIN gn2pg_flavia.data_json AS dj
 + ON ispi.id_synthese = dj.id_data 
 + WHERE dj.id_data IS NULL
 + ORDER BY ispi.id_synthese ASC
 + ) AS t
 + ) AS t
 + GROUP BY grp
 + ORDER BY 1
 + ) AS d
 + LEFT JOIN gn2pg_flavia.data_json AS dj
 + ON dj.id_data > d.min AND dj.id_data < d.max,
 + 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."min", d."max", td.nbr
 +ORDER BY d.grp;
 +</code>
  
 +Résultats :
 +<code>
 +|grp|min       |max       |downloaded|to_download|
 +|---|----------|----------|----------|-----------|
 +|1  |5 839 897  |6 467 981  |3 255     |581 087    |
 +|2  |9 404 094  |9 576 583  |0         |172 488    |
 +|3  |15 444 377 |15 455 826 |2 454     |2 773      |
 +|4  |15 609 091 |15 609 795 |703       |703        |
 +|5  |16 335 991 |16 336 391 |1         |52         |
 +|6  |16 640 640 |16 641 280 |290       |639        |
 +</code>
  • database/requetes-sql-utiles.1634633476.txt.gz
  • Dernière modification : 2021/10/19 08:51
  • de jpmilcent