Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> element z danej kategorii o najwyższym id
radziopoke
post
Post #1





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

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


Mam taką tabelę (przykładowa tabela danych mysql):

ID, kategoria, name
1, 1, nazwaA
2, 3, nazwaB
3, 2, nazwaC
4, 2, nazwaD
5, 1, nazwaE
6, 2, nazwaF
7, 1, nazwaG
8, 3, nazwaH
9, 1, nazwaI

chodzi o to, że muszę wyciągnąć tylko po jednym wierszu z każdej kategorii,ale chodzi o te które mają naważywszy id z danej kategorii.
czyli w tym wypadku powinno wyciągnąć tylko te wiersze:

6, 2, nazwaF
8, 3, nazwaH
9, 1, nazwaI

jak to osiągnąć?
Go to the top of the page
+Quote Post
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


  1. SELECT * FROM `tabela` WHERE `id` IN (SELECT MAX(`id`) FROM `tabela` GROUP BY `kategoria`)

albo
  1. SELECT * FROM (SELECT * FROM `tabela` ORDER BY `id` DESC) `temporary` GROUP BY `kategoria`)
Go to the top of the page
+Quote Post
thek
post
Post #3





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Najprościej? Wpierw posortuj całą tabelę malejąco. Tak spreparowaną użyj jako FROM i pogrupuj po name.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 23:52