Grupowanie wedlug daty

0

Witam,

Mam tabelę z danymi:
Np.
id | data | inne, mniej ważne kolumny
1 | 2012-01-01 | inne dane1
2 | 2012-04-05 | inne dane2
3 | 2012-03-04 | inne dane3
itd.

Chcę uzyskać coś takiego, aby wyświetlić w PHP:

<data> <dane_z_daną datą="datą">

czyli:
2012-03-04

  • dane1
  • dane2

2012-03-02

  • dane3
  • dane4

2012-03-01
(brak)

2012-03-04
-dane 5
-dane6
-dane7

itd.

Głównie jest to grupowanie wg daty, ale chcę aby wyświetlały się wiersze zawierające dane z określoną datą.
Można tworzyć do każdej daty oddzielne zapytanie, ale to wychodzi zbyt dużo zapytań, może da się to jakoś prościej zrobić...

(mysql)

0
Select pole1, pole2, pole3, ..., from nazwa_tabeli where atrybut_data="data"

Zawsze możesz napisać procedure, która za argument przyjmie datę i nie będziesz musiał cały czas tego klepać.

0

tylko wtedy jak będę mieć kilkaset dat w bazie to będzie dla każdej daty oddzielne zapytanie z SELECT .. WHERE data=...
Rozumiem, że tak ma to się odbywać i nie ma sposobu bardziej wydajnego?

0

A jaka to baza? Bo niektóre bazy (np. chyba oracle) mają takie magiczne tabele które można w takiej sytuacji wykorzystać :)

0
int napisał(a):

tylko wtedy jak będę mieć kilkaset dat w bazie to będzie dla każdej daty oddzielne zapytanie z SELECT .. WHERE data=...
Rozumiem, że tak ma to się odbywać i nie ma sposobu bardziej wydajnego?

Ciężko liczyć wydajność bez działającego przykładu. Najlepiej napisać rozwiązanie dające poprawne wyniki. Jeśli będzie coś za wolno działało wtedy jest okazja na wynajdywanie lepszych rozwiązań.

0

Zrobiłem sobie takie coś:

select to_char(o1.other) from programmers4 o1 UNION
select to_char(o2.daty) as YYYYYYY from programmers4 o2;

Wyszło coś takiego:

http://fotoo.pl/show.php?img=491653_1.jpg.html

Myślę, że jakbyś miał daty w osobnej tabeli to by się JOIN-a zrobiło i by grało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1