Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Nieoczekiwane zachowanie DISTINCT
Forum PHP.pl > Forum > Bazy danych > MySQL
rafalp
Dane:

Katowice
Katowice123
Katowice123
Katowice123
Katowice-inne
Katowice-inne2

  1. SELECT DISTINCT `nazwa`
  2. FROM `miasta`
  3. WHERE `nazwa` LIKE 'kato%'
  4. ORDER BY `nazwa`
  5. LIMIT 50



W wynikach nie ma "Katowice" dlaczego?
Czy myślnik w nazwach robi jakąś różnice?
bez DISTINCT jest ok (tylko że z powtórzeniami)

wiiir
Jezeli dobrze przepisałeś składnie sql to moim zdaniem bedzie 0 wyników, masz Katowice.... a szukasz 'kato%'
Wielkość liter ma znaczenie, wiec distinct tu nie ma nic do rzeczy..

A jezeli szukasz po 'kato%' bez distincta to mnie to dziwi ze znajduje ci Katowice..
rafalp
LIKE nie rozróżnia wielkości liter.
wiiir
hehe... bullshit, ale to zalezy jaka jest specyfikacja pola 'nazwa'

dokumentacja

wiec pokaz co masz w create table smile.gif
rafalp
Mówię że LIKE nie rozróżnia wielkości liter, wszystkie pola są kodowane w utf8_general_ci
wiiir
sprobuj tego smile.gif

  1. SELECT * FROM (
  2. SELECT DISTINCT `nazwa`
  3. FROM `miasta`
  4. WHERE `nazwa` LIKE 'kato%'
  5. )
  6. ORDER BY `nazwa`
  7. LIMIT 50


kolejność wykonywania polecenia select. Jezeli jest tak jak w Oraclu to klauzula select wykona sie przed limitem (rownum Oracle), ale specem od Mysql-a nie jestem smile.gif

a samo stwierdzenie "LIKE nie rozróżnia wielkości liter." to nie prawda i kazdy ci to powie
rafalp
Wiesz co, to samo jest :/

Ale chyba wiem o co chodzi ale nie wiem jak to pokonać,
Bo ja miałem w tabeli słowa z polskimi literami,

np.
Krakow
Kraków



no i DISTINCT usuwał mi pierwsze czyli Kraków, pomimo że te dwie nazwy to dla mnie różne nazwy (to tylko przykład).
Czy można wymusić na DISTINCT aby nie było mu wszystko jedno czy "ó" czy "o"
wiiir
no to moze kodowanie? Zobacz jak pojdzie utf8_polish_ci oraz set names utf8
rafalp
Cytat(wiiir @ 4.02.2013, 00:26:03 ) *
no to moze kodowanie? Zobacz jak pojdzie utf8_polish_ci oraz set names utf8


Tak jest. Jednak utf8_polish_ci oprócz wiadomych zalet wpływa jeszcze na DISTINCT smile.gif
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.