Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie jednej wartości wiadomej i dwóch losowych
Forum PHP.pl > Forum > Bazy danych > MySQL
tomekmvr
Witam

Mam tabele

id | nazwa
------------
1 jeden
2 dwa
3 trzy
4 cztery
5 piec

Chcę pobrać wartość pierwszą równą id = 3 a dwie pozostałe losowe.

Próbowałem przez takie zapytanie

  1. SELECT * FROM `tabela` ORDER BY id = 3, rand() LIMIT 3


ale nie otrzymuje tego co chcę, id=3 w ogóle nie jest brane pod uwagę w tym zapytaniu i nie wiem dlaczego.
Proszę o jakieś wskazówki
kitol
  1. SELECT * FROM `tabela`WHERE id =3
  2. UNION ALL
  3. SELECT * FROM `tabela`WHERE id !=3 ORDER BY rand() LIMIT 2
tomekmvr
Nie pomyślałem o UNION ALL

Jeszcze trzeba nawiasy dołożyć i działa jak chcę.

  1.  
  2. (SELECT * FROM `tabela`WHERE id =3)
  3. UNION ALL
  4. (SELECT * FROM `tabela`WHERE id !=3 ORDER BY rand() LIMIT 2)
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.