Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: COUNT poraz kolejny
Forum PHP.pl > Forum > Bazy danych > MySQL
fastmx
Witam,
mam taka tabelke:

id int(11) Nie auto_increment
uId int(11) Nie
eId int(11) Nie
eventstart date Nie
eventend date Nie
title varchar(255) latin2_general_ci Nie
description

Najwazniejsze (w tym momencie) sa dwa pola eventstart oraz eventend.
Moje pytanie jest nastepujace. Czy jest mozliwosc zwrocenia za pomoca samej kwerendy sql wyniku w takiej postaci:

Date ilosc
2009-10-01 : 10
2009-10-02 : 2
itd itd ..
Najlepiej bylby gdyby dalo sie zwrocic dane z przedzialu jakiegos np od polowy wrzesnia do konca pazdziernika.

Problem pojawia sie w tym ze np:
Mamy parudniowy event ktory zaczyna sie w srode 2009-10-03 i konczy w piatek 2009-10-05. 'Zwykly' count zwroci tylko :
2009-10-03 : 1

a ja chcialby by bylo to:

2009-10-03 : 1
2009-10-04 : 1
2009-10-05 : 1

Jest wogole taka opcja? Czy raczej trzeba w php to rozwiazac?

Dzieki za pomoc
piotrooo89
przeczytałem 2x posta i nie do końca wiem o co Ci chodzi. może BETWEEN Ci pomoże.
kefirek
Może GROUP BY questionmark.gif

  1. SELECT *, COUNT(eventstart) AS ile FROM tabela GROUP BY eventstart
fastmx
To ma byc do kalendarza: widok ogolny, poprostu ma zliczac ile jest eventow w danym dniu.
Np jesli wogole dnia nie bedzie w bazie to zeby wynik byl : 2009-10-10 : 0
erix
GROUP BY + wyciąganie DATE z pola i masz tak, jak ~kefirek przedstawił.

Cytat
Np jesli wogole dnia nie bedzie w bazie to zeby wynik byl : 2009-10-10 : 0

To już lepiej po stronie skryptu sprawdzać, IMHO.
fastmx
Własnie chcialem sie dowiedziec, bo wydawalo mi sie to samo w sobie dosyc skomplikowane jak na biednego mysqla winksmiley.jpg

Zeby nie zakladac nowego tematu, teraz juz chyba cos mniej abstrakcyjnego winksmiley.jpg

Otoz:
mamy event ktory trwa np od pon do piatku
Wyciagam sobie teraz dzien srode i chcialbym zeby byl wlasnie ten event.
Jakies pomysly ?smile.gif

Ja mam narazie 3 OR'y .. Jakby bylo cos sprytniejszego to prosze pisac winksmiley.jpg
kefirek
Może WEEKDAY() pomoże ci. Pobierasz tylko te ten co jest równy 2
#luq
Chyba chodzi o coś takiego:
  1. SELECT * FROM tabela WHERE '$podanaData' => eventstart AND '$podanaData' <= eventend
fastmx
Tak o to chodzi winksmiley.jpg to bylo banalnie proste..

Szkoda ze tej pierwszej opcji nie da sie za pomoca sql winksmiley.jpg no nic smile.gif

Dzieki !
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.