sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgresql:Gruppering med begrænsning på gruppestørrelse ved hjælp af vinduesfunktioner

Det kan gøres ved hjælp af to indlejrede vinduesfunktioner

SELECT
  id
FROM (
  SELECT
    id,
    color,
    score,
    ((rank() OVER color_window) - 1) / 2 AS rank_window_id
  FROM grouping_test
  WINDOW color_window AS (PARTITION BY color ORDER BY score DESC)
) as foo
WINDOW rank_window AS (PARTITION BY (color, rank_window_id))
ORDER BY
  (max(score) OVER rank_window) DESC,
  color;

Med 2 er parameteren for gruppestørrelsen.



  1. Hvordan bruger man native sql-funktion med HQL-forespørgsel?

  2. Sådan bruger du wireshark til at fange mysql-forespørgsel sql klart

  3. Hvordan finder jeg ud af standardserverens tegnsæt i mysql?

  4. Hvad er en forespørgselsudligger, og hvordan rettes den