Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: grupowanie wg fragmentu pola
Forum PHP.pl > Forum > Bazy danych > MySQL
emmagda
Chciałabym za pomocą jednego zapytania wybrać i zsumować rekordy z tabeli które zostały utworzone w danym miesiącu.
Data wpisu jest zapisywana w formacie VARCHAR(10) i wygląda tak: '2009-02-26'.

Dla jednego konkretnego miesiąca mam zapytanie:
  1. SELECT sum(kwota) FROM tabela WHERE DATA LIKE '2009-02-%'

dostaje to oczywiście jedna linijkę danych - sumę kwot.

Czy można grupować rekordy po np. ośmiu pierwszych znakach jakiejś wartości?
Tak aby dostać tabelke:

|sum(kwota) | data |
|234 | 2008-01 |
|235 | 2008-02 |
|211 | 2008-03 |

Bardzo będę wdzięczna za odpowiedź! Dzięki
nospor
Cytat
Data wpisu jest zapisywana w formacie VARCHAR(10)
Data to jest data i powinna byc wpisana w polu o type DATE a nie varchar.
Jak juz to poprawisz to wroc z pytaniem smile.gif
emmagda
No wiec zmienilam.
Ale tak przy okazji. Czy istnieje możliwość grupowania po fragmencie np. nazy instytucji?
nospor
Cytat
Ale tak przy okazji. Czy istnieje możliwość grupowania po fragmencie np. nazy instytucji?

  1. ... GROUP BY substr(....)

http://dev.mysql.com/doc/refman/5.0/en/str...function_substr
emmagda
Dzieki! A więc takie to proste!
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.