Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Odpowiedni SELECT
Forum PHP.pl > Forum > Bazy danych > MySQL
laresistance
Mam tabelę, w któej mam kolumny:
id_zapytania
id_użytkownika
data_szukanego_miesiaca
data_wyslania_zapytania


Trzeba:

- Dla określonego miesiąca wyciągnąć okresy, którymi zainteresowani są klienci
- Sortowanie wg najczęściej wybieranych okresów (miesięcy)

Wybierz miesiąc np: lipiec
Wyświetla się tabela okresów wybieranych przez klientów
W tabeli Rok, Miesiąc, ilość zapytań o ten miesiac w tym roku

JAkiś pomysł jak to wyciągnąć? smile.gif
maly_swd
Praca domowa?

Pokaz co tam sam naskrobales i z czym masz problem.
laresistance
mam coś takiego.
Czy to będzie dobrze?

  1. $wybranyMiesiac;
  2. $data = array();
  3. $data[] = array('Data','Rok','Miesiąc','Ilość');
  4. $query = "SELECT
  5. to_char(data_szukanego_miesiaca, 'YYYY') AS rok,
  6. to_char(data_szukanego)_miesiaca 'MM') AS miesiac,
  7. count(1) as ilosc
  8. FROM ".$this->APP->config->getVar('db_tabelki','moja_tabelka')."
  9. WHERE 'data_wyslania_zapytania' = '$wybranyMiesiac'
  10. GROUP BY rok,miesiac
  11. ORDER BY ilosc DESC";
bpskiba
Aby z daty wyciągnąć rok warto napisać Year(data_wyslania_zapytania)

Oraz tutaj
WHERE 'data_wyslania_zapytania' = '$wybranyMiesiac'

porównujesz całą datę z numerem miesiąca czyli np where'2012-07-11'=7 to zawsze zwróci fałsz więc należy napisać
where month(data_wyslania_zapytania)='$wybranyMiesiac'

pracuj dalej smile.gif
laresistance
dzięki za podpowiedź
Tylko jeszcze jedno mnei zastanawia ...
Czy jeśli porównuję sobie miesiąc z miesiącem, którą dostanę ze zmeinnej a przestzreń szukania jest z kilku lat to musze chyba jakoś zadbać również o odpowiedni rok żeby szukając stycznia 2012 nie pokazzało mi np stycznia 2009
bpskiba
Cytat(laresistance @ 26.07.2012, 13:50:11 ) *
dzięki za podpowiedź
Tylko jeszcze jedno mnei zastanawia ...
Czy jeśli porównuję sobie miesiąc z miesiącem, którą dostanę ze zmeinnej a przestzreń szukania jest z kilku lat to musze chyba jakoś zadbać również o odpowiedni rok żeby szukając stycznia 2012 nie pokazzało mi np stycznia 2009


oczywiście
...ale to masz już załawwione tutaj:
  1. GROUP BY rok,miesiac
laresistance
co oznacz ataki błĄD?
nativecode=ERROR: function year(date) does not exist LINE 2: year(data_aaa) AS rok, ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts
mmmmmmm
PostgreSQL, czy Oracle?
Sprawdź:
  1. $query = "SELECT
  2. Extract(YEAR FROM data_szukanego_miesiaca) AS rok,
  3. Extract(MONTH FROM data_szukanego_miesiaca) AS miesiac,
  4. count(1) as ilosc
  5. FROM ".$this->APP->config->getVar('db_tabelki','moja_tabelka')."
  6. WHERE 'data_wyslania_zapytania' = '$wybranyMiesiac'
  7. GROUP BY rok,miesiac
  8. ORDER BY ilosc DESC";
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.