![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 87 Pomógł: 1 Dołączył: 3.12.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam następujący problem.
Mam bazę danych o strukturze: name | data1 _________________________ 7800 | 2015-07-24 09:57:33 7801 | 2015-07-24 09:59:33 7800 | 2015-07-24 09:55:33 7801 | 2015-07-24 09:51:33 itd rożne rekordy. Chcę by wyświetlało w kolejności od najnowszej daty, grupująć według nazwy. Chcę dostać coś takiego: 7801 | 2015-07-24 09:59:33 7800 | 2015-07-24 09:57:33 itd. Mój problem polega na tym, że MYSQL pomija co drugi rekord prawidłowy. Np w tym przypadku wyświetla mi tylko 7800.. Zapytanie, które stosuje to:
Gdy wywale 'GROUP BY' oczywiście wyświetla normalnie, jednak nie grupuje. Jak sobie poradzić z tym GROU BY ? Ten post edytował djpotwosss 24.07.2015, 15:04:45 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 807 Pomógł: 1828 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Twoje zapytanie nie jest do końca poprawne, ponieważ wybiera "pierwszą lepszą" wartość data1 podczas grupowania. Powinno być zapytanie wybierające MAX(data1).
Jednak pod względem znikania danych obydwa zapytania są poprawne, tj. nie ma możliwości, aby podczas grupowania uciekły wszystkie wartości reprezentujące grupę (tu: 7801). Proponuję abyś przetestował zapytanie/a na mniejszej liczbie rekordów, np. na 4-ech, które podałeś wyżej. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 12:12 |