Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [sql][php] Wyświetlanie rekordów z bazy w odpowiedni sposób
maniak11
post
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.03.2006
Skąd: Sosnowiec

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


Witam,


Mam taką tabelke


================================================
imie | nazwisko | start | stop |

jan nowak 2007-10-01 12:00:00 2007-10-01 12:00:00
tom kowal 2007-10-11 13:00:00 2007-10-14 15:00:00
jacek sęk 2007-10-20 14:00:00 2007-10-25 14:00:00
jan nowak 2007-10-16 14:00:00 2007-10-28 12:00:00
=================================================

Chciałbym aby wyświetlało mi się to w taki sposób, że jeśli jest jeden rekord z jednym nazwiskiem to normalnie go wyświetlać, ale jak nazwisko i imie występuje więcej niż 1 raz to wyświetlić tylko ten 'najnowszy' czyli ten gdzie kolumna start jest najbliżej dnia dzisiejszego

Wie ktoś może jak to zrobić? W sql-u chyba się nie da, próbowałem dodać do zapytania GROUP BY nazwisko, ale trzeba by jeszcze jakiś warunek HAVING questionmark.gif? no i właśnie nie wiem co. Bardzo proszę o jakąś pomoc
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
Daimos
post
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


uzyj DISTINCT i sortuj wedlug daty


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
mrjozo
post
Post #3





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


DISTINCT tutaj nie pomoże gdyż zwraca on unikalne wiersze a nie kolumny, dla powyższego problemu zwróci to samo.

Jest to problem tego samego typu co tutaj:
Temat: mysql GROUP BY


--------------------
W chwili wolnego zapraszam na gry Dla każdego coś się znajdzie;)
Go to the top of the page
+Quote Post
maniak11
post
Post #4





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.03.2006
Skąd: Sosnowiec

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


Niestety dalej się męczę z tym problemem, a podejrzewam, że jakiejś pierdoły brakuje w zapytaniu:/ Doszedłem do momentu gdzie wyswietla mi taka tabelke


Imie1 Nazwisko1 2007-10-24 18:53:50
Imie1 Nazwisko1 2007-11-24 18:53:50
Imie1 Nazwisko1 2007-12-22 18:53:50

Imie2 Nazwisko2 2007-10-12 12:53:50
Imie2 Nazwisko2 2007-11-13 11:53:50
Imie2 Nazwisko2 2007-12-23 14:53:50

Imie3 Nazwisko3 2007-12-24 18:53:50
Imie4 Nazwisko4 2007-11-13 11:53:50
Imie4 Nazwisko4 2007-12-23 14:53:50

Czyli kurcze prawie, ale PRAWIE czasem robi wielką różnicę, jak wyświetlić tylko najnowszy wiersz dla danego imienia i nazwiska? Jakakolwiek pomoc bardzo wskazana
Go to the top of the page
+Quote Post
--miggie--
post
Post #5





Goście







użyj funkcji max()

  1. SELECT imie, nazwisko, max(start), stop
  2. FROM .... GROUP BY imie, nazwisko
Go to the top of the page
+Quote Post
maniak11
post
Post #6





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 18.03.2006
Skąd: Sosnowiec

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


Olbrzymie dzięki, widziałem że o jakiejś pierdole zapomniałem...wystarczył zwykły max(), dzięki wielkie
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: 21.08.2025 - 20:20