Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Zapytanie mysql
kepke
post
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.03.2004

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


Musze zrobic cos takiego. Pobrac z bazy a dokladniej z komorki 'miasto' wszystkie rekordy i wyswietlic je w selekcie alfabetycznie. Chodzi mi o to zeby sie nie powtarzaly. Np ulozyc miasta: Kraków, Krynica, Kryspinów itd
Jak cos takiego zrobic?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
Jojo
post
Post #2





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

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


  1. SELECT miasto FROM tabela GROUP BY miasto ORDER BY miasto ASC

Nie jestem pewien czy zadziała ale powinno. Jakby były jakieś błędy to napisz.
Go to the top of the page
+Quote Post
FiDO
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


  1. SELECT DISTINCT miasto FROM tabela ORDER BY miasto
Go to the top of the page
+Quote Post
kepke
post
Post #4





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.03.2004

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


To takie proste zapytanie ma byc? Ale chyba to nie uwzgledni tego zeby nie powtarzac rekordow. Musze sprowbowac zaraz. Dzieki

To ktore bedzie lepsze?

Ten post edytował kepke 8.08.2004, 22:27:45
Go to the top of the page
+Quote Post
FiDO
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Oba uwzglednia niepowtarzalnosc miast, aczkolwiek wg mnie bardziej nadaje sie to z DISTINCT, poniewaz dedykowanym przeznaczeniem tej klauzuli jest wlasnie zwracanie unikalnych wynikow, w przypadku GROUP BY jest to jakby dzialanie uboczne.
Go to the top of the page
+Quote Post
Jojo
post
Post #6





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

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


Cytat(FiDO @ 2004-08-08 23:26:34)
  1. SELECT DISTINCT miasto FROM tabela ORDER BY miasto

FiDO: Kiedyś w jakimś zapytaniu użyłem SELECT DISTINCT ale zapytania strasznie wolno się wykonywały (kilkakrotnie dłużej niż z GROUP BY).
Nie orientujesz się czy możliwe jest aby była taka różnica?
Go to the top of the page
+Quote Post
FiDO
post
Post #7





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Szczerze mowiac nie.. sprawdze u siebie czy tez bede tak mial.

PS. Duza ta tabela byla ? Wyciagales tylko jedna kolumne czy wiecej ?
Go to the top of the page
+Quote Post
kepke
post
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 13.03.2004

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


Tak w ogole to dzieki chlopaki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Oba daja takie same wyniki a z szybkoscie to ja nie wiem bo nie mam tak rozbudowanej bazy.
Go to the top of the page
+Quote Post
Jojo
post
Post #9





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

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


Wyciągałem jedną tylko jedną kolumnę a tabela była chyba średnich rozmiarów. Nie pamiętam dokładnie... jakieś kilkaset rekordów.
Go to the top of the page
+Quote Post
DeyV
post
Post #10





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




według moich testów, przynajmniej na najprostrzych zapytaniach, operujących na kolumnie tekstowej, DISTINCT jest minimalnie szybsze od GROUP BY (co zresztą również wydaje mi się naturalne, gdzyż takie właśnie jest jego przeznaczenie)
Go to the top of the page
+Quote Post
FiDO
post
Post #11





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Zrobilem test na tabeli z okolo 40 tys. rekordow, unikalnych jest troche ponad 300. DISTINCT byl _znacznie_ szybszy (ok 0.0008 wzgledem 0.1xxx dla GROUP BY), jednak jest jedno "ale". Wynik zwrocony przy pomocy DISTINCT nie jest posortowany, za to ten z GROUP BY jest. Gdy wiec dodamy do DISTINCT'a sortowanie, aby otrzymac te same wyniki (w tej samej kolejnosci), czasy bardzo zblizaja sie do siebie (co znaczy, ze wiekszosc tego zapytania to jest wlasnie sortowanie), a roznica jest dopiero na trzecim miejscu po przecinku.
Go to the top of the page
+Quote Post
Jojo
post
Post #12





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

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


Dzięki wielkie za rozwianie moich wątpliwości. Widzę, że to co działo się wtedy u mnie było jakimś dziwnym zbiegiem okoliczności nie posiadającym logicznego wytłumaczenia. (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 23.08.2025 - 20:25