![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 30 Dołączył: 9.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabelę, w której w każdym rzędzie przechowuję m.in. datę utworzenia oraz login.
Jako rezultat ma wyjść tabelka - kolumny loginy, wiersze daty a w środku liczba wystąpień w tabeli dla danej daty i danego loginu: data | login1 | login2 | suma 2011-06-18 6 7 13 2011-06-19 2 1 3 Razem: 8 8 16 Na tą chwilę zrobiłem to w sposób taki, że pobieram jednym selectem distinct daty, drugim selectem loginy. Następnie lecę podwójnym foreach i dla każdej daty, wykonuję select count(*) dla każdego loginu. Takie rozwiązanie jest jednak mało wydajne (przy 12 datach i 9 loginach łączny czas zapytania zajmuje 2 sekundy (IMG:style_emoticons/default/smile.gif) ). Może ma ktoś wydajniejszy sposób do przetestowania? Poniżej kod jakby kogoś interesował:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 30 Dołączył: 9.08.2007 Ostrzeżenie: (0%) ![]() ![]() |
Struktura:
W tabeli `sprawy` podałem tylko niezbędne kolumny. Dane wjeściowe: Data początkowa i data końcowa w formacie unix timestamp Cel: Znaleźć do ilu spraw, dla wszystkich dni zawartych pomiędzy datami wejściowymi, został przydzielony każdy z użytkowników z tabeli users. Generalnie chodzi mi o wyświetlenie tabeli jak poniżej:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 11:25 |