Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [mysql] sortowanie po części kolumny
lenczewski
post
Post #1





Grupa: Zarejestrowani
Postów: 159
Pomógł: 1
Dołączył: 31.08.2005

Ostrzeżenie: (0%)
-----


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)

Ten post edytował lenzcewski 25.05.2006, 12:28:50
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post
lenczewski
post
Post #3





Grupa: Zarejestrowani
Postów: 159
Pomógł: 1
Dołączył: 31.08.2005

Ostrzeżenie: (0%)
-----


...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
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
gdzyż już nie wytnę np. 3 grupy
akurat konkretnie w tym przypadku sie mylisz (IMG:http://forum.php.pl/style_emoticons/default/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
Go to the top of the page
+Quote Post
Jojo
post
Post #5





Grupa: Zarejestrowani
Postów: 405
Pomógł: 1
Dołączył: 19.09.2003
Skąd: Lublin

Ostrzeżenie: (0%)
-----


lenzcewski: Takie pytanie w kwestii formalnej: a nie lepiej by było rozdzielić to na 3 kolumny?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 04:16