Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Grupowanie
Forum PHP.pl > Forum > Bazy danych > MySQL
bpawlik
Witam

czy mozliwe jest grupowanie wg CZŚCI wartości danego pola, np.
Kod
id | pole
1 | DIN 555 4
2 | DIN 555 5
3 | DIN 555 8
4 | DIN 1222 9
5 | DIN 1222 10 VZ
6 | DIN 1222 13 FZ


chcę otrzymać pogrupowane wg "DIN 555" i "DIN 1222"

Zaznaczam, że "rozbicie" wartości pola1 na dwie lub więcej kolumn nie wchodzi w grę (20.000 rekordów) i bardzo duże zróżnicowanie.

Czy może użyć coś takiego jak %LIKE%

Będę wdzięczy za wskazówki.
nospor
gdyby te twoje rzeczy mialy taką samą dŁugośc (DIN 555, DIN 122) to byś mógł zrobić:
  1. SELECT LEFT(pole,7) p
  2. FROM tabela GROUP BY p
ale u ciebie jest zmienna dlugośc i nie wiem
bpawlik
Tak sie zastanawiam.

A gdybym miał te fragmenty (DIN 555, DIN 1222) w osobnej tabeli to jak mogłoby to wyglądać?
SongoQ
Dodatkowa tabelka z nazwa i id, a w tej tabelce co masz teraz id do tamtej tabeli. Zwykla relacja.
spenalzo
Domyślam, sie, że chodzi o sortowanie a nie grupowanie...
W każdym razie, jeżeli ma to być sortowane na podstawie dwoch pierwszych członów zapytania to prosze bardzo:

  1. SELECT *, SUBSTRING_INDEX(pole," ",2) AS srt
  2. FROM `aaa` ORDER BY srt


a jeżeli grupowanie:

  1. SELECT *, SUBSTRING_INDEX(pole," ",2) AS srt
  2. FROM `aaa` GROUP BY srt
bpawlik
Dzięki

Teraz już sobie poradzę
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.