Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Limit rekordów w zależności od działu
Forum PHP.pl > Forum > Bazy danych > MySQL
rafor4
Witam.
W jaki sposób mogę ograniczyć ilość zapytań w zależności od działu?

Mam w polu "dział" mysql wpisany jeden z pięciu działów:
Dział1
Dział2
Dział3
Dział4
Dział5

Z działu1 chciałbym pobrać 10 losowych rekordów, z działu2 15 losowych rekordów, z działu 3 20 losowych rekordów, z działu 4 25 losowych rekordów i z działu5 30 losowych rekordów.
Losowość osiągałem przez ORDER BY rand() - wiem, że metoda głupia ale mi wystarczy
Wszystko znajduje się w jednej tabeli.
Próbowałem bawić się np. UNION ale nie osiągnąłem zamierzonego rezultatu.

Prosiłbym o pomoc - chociaż na nakierowanie na właściwy sposób załatwienia tego, bo jak najbardziej podstawy znam tongue.gif
Pyton_000
Piszesz 5 zapytań, pomiędzy nie pakujesz UNION i koniec. Żadnej filozofii tu nie ma.
rafor4
Niestety nie działa to w taki sposób. Gdy napiszę dwa zapytania:

SELECT * FROM pytania WHERE dzial='Dział1' ORDER BY RAND() LIMIT 10;
SELECT * FROM pytania WHERE dzial='Dział2' ORDER BY RAND() LIMIT 15;

W php my admin wyskakują mi tylko wyniki z działu1:
"Pokaż wiersze 10 - 10 ( 10 wszystkich, Wykonanie zapytania trwało 0.0008 sekund(y))"
viking
  1. SELECT * FROM pytania WHERE dzial='Dział1' ORDER BY RAND() LIMIT 10
  2. UNION
  3. SELECT * FROM pytania WHERE dzial='Dział2' ORDER BY RAND() LIMIT 15;
kapslokk
  1. (SELECT * FROM pytania WHERE dzial='Dział1' ORDER BY RAND() LIMIT 10)
  2. UNION
  3. (SELECT * FROM pytania WHERE dzial='Dział2' ORDER BY RAND() LIMIT 15)

Z nawiasami, bo bez nich ostatni limit odnosi sie do całego zapytania - a przynajmniej u mnie tak się dzieje ;D
rafor4
Cytat(kapslokk @ 1.06.2016, 15:53:35 ) *
  1. (SELECT * FROM pytania WHERE dzial='Dział1' ORDER BY RAND() LIMIT 10)
  2. UNION
  3. (SELECT * FROM pytania WHERE dzial='Dział2' ORDER BY RAND() LIMIT 15)

Z nawiasami, bo bez nich ostatni limit odnosi sie do całego zapytania - a przynajmniej u mnie tak się dzieje ;D


Dokładnie tak samo jest u mnie. Dzięki, to zapytanie działa świetnie smile.gif Nie wiem czy tak się powinno łączyć wybieranie rekordów, ale jak śmiga to jak najbardziej mi to wystarczy - projekt w 100% wewnętrzny.
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.