Skocz do zawartości

[MYSQL] Jak pobrać X najnowszych rekordów z każdej kategorii


salesperson

Rekomendowane odpowiedzi

Witam

Mam następującą tabele:

id | tytul | tresc | kategoria

Załóżmy iż mamy tabele wypełnioną przez 100 rekordów, id - auto_increment kolumny "tytul" i "tresc" zawierają losowe dane natomiast kolumna "kategoria" może przyjmować dane typu INT 1,2,3,4,5

czy jest możliwosc aby skonstruować jedno zapytanie które będzie pobierało mi 10 najnowszych rekordów z każdej kategorii (1,2,3,4,5) czy muszę robić każde zapytanie pojedynczo?

$k1 = mysql_query("SELECT * FROM tabela WHERE kategoria=1 ORDER BY id DESC LIMIT 10");

$k2 = mysql_query("SELECT * FROM tabela WHERE kategoria=2 ORDER BY id DESC LIMIT 10");

$k3 = mysql_query("SELECT * FROM tabela WHERE kategoria=3 ORDER BY id DESC LIMIT 10");

...

www.webvalue.pl - wycena portali internetowych

Odnośnik do komentarza
Udostępnij na innych stronach

(SELECT 'kategoria 1', * FROM tabela WHERE kategoria=1 ORDER BY id DESC LIMIT 10)
UNION
(SELECT 'kategoria 2', * FROM tabela WHERE kategoria=2 ORDER BY id DESC LIMIT 10)
UNION
(SELECT 'kategoria 3', * FROM tabela WHERE kategoria=3 ORDER BY id DESC LIMIT 10)

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nie chodzi o sortowanie tylko wybieranie unikalnych danych, a tylko takie będą gdy w tabeli "tabela" będzie pole typu auto increment.

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

...przyjmujac ze "id" jest kluczem i jest "auto increment" !!

dlaczego? od kiedy nie można sortować danych nie będących kluczem czy inkrementujących się?

...zgadza sie! nie chodzi o sortowanie

zagrozenia:

- id nie musi byc wcale kluczem jesli nie oznaczymy go jako klucz

- jezeli id jest kluczem a nie ma auto_increment to moze zdarzyc sie ze jak usuniesz wiersz, to nastepny dopisany bedzie mial id ktore juz kiedys bylo wykorzystane przez usuniety juz wiersz - w tym wypadku nie wyjdzie drukowanie ostatnich wierszy wg id

...jest jeszcze kilka niuansow, ale wszyscy macie racje Panowie, ale do konca to tak ladnie nie jest jak pisze, i polecam jeszcze bardziej sie wkrecic w specyfikacje bo fajne myki mozna robic na "patologiach" skladni sql i php...

Nie chodzi o sortowanie tylko wybieranie unikalnych danych, a tylko takie będą gdy w tabeli "tabela" będzie pole typu auto increment.

???

SELECT DISTINCT

uniqe: https://dev.mysql.com/doc/refman/5.1/en/create-index.html

jezeli musimy miec id z kluczem to po co DISTINCT ??

tam zlecam marketing internetowy i pozycjonowanie stron: bizzit.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności