Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Losowanie w UNION
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
JohnySpot
W dużym uproszczeniu: Tabela ma pole tekstwe "tekst" i pole "otwarte" typu boolen.
Chciałbym w UNII wykonać dwa SELECT-y, które będą losowały X (na przykład dziesięć) wartości z polem "otwarte" = TRUE i Y (na przykład piętnaście) wartości z polem "otwarte" = FALSE.
Aure
Losuje rządaną ilośc rekordów i zwraca je w kolejności rosnącej:
  1. ( SELECT * FROM "table" WHERE otwarte=true ORDER BY RANDOM() LIMIT 10 )
  2. UNION
  3. ( SELECT * FROM "table" WHERE otwarte=false ORDER BY RANDOM() LIMIT 15 )

Losuje rządaną ilośc rekordów i zwraca je w kolejności losowej:
  1. SELECT * FROM ( ( SELECT * FROM "table" WHERE otwarte=true ORDER BY RANDOM() LIMIT 10 )
  2. UNION
  3. ( SELECT * FROM "table" WHERE otwarte=false ORDER BY RANDOM() LIMIT 15 )
  4. ) AS Result
  5. ORDER BY RANDOM()
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.