Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Grupowanie wyników
woj_tas
post
Post #1





Grupa: Zarejestrowani
Postów: 230
Pomógł: 36
Dołączył: 31.03.2006
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Witam

Tabela produkty:
id, kategoria_id, nazwa

W jaki sposob pobrać 10 najnowszych rekordów z każdej kategorii?


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
kreciko
post
Post #2





Grupa: Zarejestrowani
Postów: 99
Pomógł: 7
Dołączył: 17.02.2010

Ostrzeżenie: (0%)
-----


SELECT * FROM produkty WHERE kategoria_id IN (SELECT DISTINCT kategoria_id FROM produkty) ORDER BY id DESC LIMIT 10

nie wiem czy poprawne.
Go to the top of the page
+Quote Post
Noidea
post
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 61
Dołączył: 20.08.2010

Ostrzeżenie: (0%)
-----


W MySQL chyba trzeba ręcznie liczyć wiersze każdej kategorii:
  1. SELECT *
  2. FROM
  3. (
  4. SELECT *, IF( @cat_id <> kategoria_id, @row := 1, @row := @row + 1 ) AS row_number, @cat_id := kategoria_id
  5. FROM produkty
  6. ORDER BY kategoria_id, id DESC
  7. ) p
  8. WHERE p.row_number <= 10


warto też najpierw wyzerować zmienne takim zapytaniem:
  1. SET @row = 0, @cat_id = 0;


Ten post edytował Noidea 24.09.2010, 16:20:30


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 09:16