Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] sortowanie po części kolumny
Forum PHP.pl > Forum > Bazy danych > MySQL
lenczewski
Witam,
jako zawartość jednej z kolumn mam wartość:
Cytat
12:32:3

chciałbym posortować te kolumy względem przerwszej części.
żeby wyciągnąć ten pierwszy kawałem w php używam
  1. <?php
  2. explode(":", $row[dane])
  3. ?>
, ale czy sie uzyskać to samo za pomocą samego zapytania SQL?


---edyta:
dobra, dzięki, już znalazlem (SUBSTRING_INDEX)
nospor
po formacie stringu wnioskuje ze jest to czas. A czy to pole jest typu TIME? Bo jesli tak, to mozesz tez uzyc DATE_FORMAT:
http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html
lenczewski
...hmmm.
rzeczywiście przypomina czas, ale nim nie jest.
Kolejno oznacza: PR_strony:liczba_zindeksowanych_stron:liczba_linkow

w sumie to SUBSTRING_INDEX, nie okazał się tym samym co EXPLODE z php, gdzyż już nie wytnę np. 3 grupy ;( ale w sumie musię sortować wyniki jedynie po pierwszym członie więc narazie starczy, resztę wyciągam tak jak poprzednio przez EXPLODE z php
nospor
Cytat
gdzyż już nie wytnę np. 3 grupy
akurat konkretnie w tym przypadku sie mylisz smile.gif
  1. .... SUBSTRING_INDEX('12:32:3',':',-1)...


edit:
w komentarzach znalazlem fajny kawalek:
Cytat
This will split an IP address ("a.b.c.d") into 4 respective octets:

SELECT
`ip` ,
SUBSTRING_INDEX( `ip` , '.', 1 ) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', 2 ),'.',-1) AS b,
SUBSTRING_INDEX(SUBSTRING_INDEX( `ip` , '.', -2 ),'.',1) AS c,
SUBSTRING_INDEX( `ip` , '.', -1 ) AS d
FROM log_table
Jojo
lenzcewski: Takie pytanie w kwestii formalnej: a nie lepiej by było rozdzielić to na 3 kolumny?
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.