Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie pierwszego rekordu a zadanych parametrach
Forum PHP.pl > Forum > PHP
Balus
Witam, mam mały problem. Mam zapytanie:
  1. $attendance_sql = "SELECT
  2. strftime('%d-%H:%M', data_czas, 'localtime') as day
  3. FROM
  4. zdarzenia
  5. WHERE
  6. uzytkownik_id = :user_id
  7. AND
  8. data_czas LIKE (SELECT '%' || :term || '%')";


Następnie tworzę pętle w celu pobrania powyższych danych do tablic:
  1. foreach($result = $prepare->fetchAll() as $attendance) {
  2. $attendance_tmp = explode('-', $attendance['day']);
  3.  
  4. $attendances[intval($attendance_tmp[0])] = $attendance_tmp[0];
  5. $hours[intval($attendance_tmp[0])] = $attendance_tmp[1];
  6. }


Problem w tym, że dla zadanego parametru istnieje kilka rekordów z różnymi godzinami, np 7 marca i godziny 10:10, 11:11.
Ten kod pozwala mi na pobranie ostatniej godziny. Co zrobić aby pobrać tylko pierwszą godzinę, a resztę pominąć?

Pozdrawiam.
szok
sql LIMIT?
Balus
Niestety nie, to by było zbyt proste. smile.gif
Gdy użyję LIMIT 1 to zostanie pobrany tylko 1 dzień i pierwsza godzina, mi zależy na tym, żeby porabć wszystkie dni i pierwszą godzinę. wink.gif
mate
Może pomocne okaże się zastosowanie DISTINCT, a do tego możesz posortować po godzinach i wtedy będziesz pewien, że dla jednego dnia będzie się wyświetlać jedna wartość posortowana od najwcześniejszej godziny.
Balus
Spróbowałem z Distinct oraz Order by niestety nic to nie dało.
cudny
group by day i having dla samych godzin rozwiąże problem

Zainteresuj się w googlach group by ... having
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.