Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] problem z distinct
phpcoder89
post 29.12.2008, 15:42:49
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


mam taka tabele:

  1. CREATE TABLE `spolki` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `indeks` varchar(32) NOT NULL,
  4. `nazwa` varchar(32) NOT NULL,
  5. `wartosc` varchar(32) NOT NULL,
  6. `czas` varchar(32) NOT NULL,
  7. PRIMARY KEY (`id`)
  8. )


i teraz jak wyciagnac wszystkie unikalne rekordy (unikalne wartosci z pola nazwa) rekordy gdzie pole indeks = powiedzmy 'wig20' i przesortowac to po id DESC??

pomocy
Powód edycji: Dodałem tag. /webdice
Go to the top of the page
+Quote Post
webdice
post 29.12.2008, 15:52:50
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




  1. SELECT DISTINCT(`nazwa`), `id`, `indeks`, `wartosc`, `czas` FROM `spolki` WHERE `indeks` = 'wig20'


P.S. To są podstawy, przenoszę do działu Przedszkole.
Go to the top of the page
+Quote Post
phpcoder89
post 29.12.2008, 16:27:55
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


ale w tym momencie wyciagnie mi rekord o nizszym id a ja chce wyciagnac o id jak najwyzszym
Go to the top of the page
+Quote Post
webdice
post 29.12.2008, 16:34:24
Post #4


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




To sobie dodaj:

  1. ORDER BY `id` DESC
Go to the top of the page
+Quote Post
phpcoder89
post 29.12.2008, 16:45:26
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


nie dziala sad.gif
Go to the top of the page
+Quote Post
kefirek
post 29.12.2008, 16:55:50
Post #6





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


To zobacz może tak

  1. SELECT * FROM spolki GROUP BY nazwa ORDER BY id DESC;
Go to the top of the page
+Quote Post
webdice
post 29.12.2008, 17:32:13
Post #7


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Cytat(phpcoder89 @ 29.12.2008, 16:45:26 ) *
nie dziala sad.gif


To usiądź i płacz, jaki błąd Ci wyskakuje? Dodaj:

  1. <?php
  2. or die (mysql_error ());
  3. ?>
Go to the top of the page
+Quote Post
phpcoder89
post 30.12.2008, 08:36:53
Post #8





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


Cytat(webdice @ 29.12.2008, 15:52:50 ) *
  1. SELECT DISTINCT(`nazwa`), `id`, `indeks`, `wartosc`, `czas` FROM `spolki` WHERE `indeks` = 'wig20'


P.S. To są podstawy, przenoszę do działu Przedszkole.


nie pokazuje mi unikalnych dla nazwy tylko wszystkie dla `indeks` = 'wig20'
:/
Go to the top of the page
+Quote Post
kefirek
post 30.12.2008, 09:21:34
Post #9





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


To zobacz tak
  1. SELECT * FROM spolki GROUP BY nazwa WHERE indeks = 'wig20' ORDER BY id DESC;
Go to the top of the page
+Quote Post
phpcoder89
post 30.12.2008, 11:04:30
Post #10





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


niby ok wyciaga unikalne nazwy ale sortuje po id juz po wyciagnieciu tych unikalnych co mija sie z celem bo najpierw powinien posortowac a potem wyciagnac unikalne najnowsze a wyciaga unikalne najstarsze sad.gif
Go to the top of the page
+Quote Post
kefirek
post 30.12.2008, 11:08:39
Post #11





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


TO usuń z zapytania DESC
Go to the top of the page
+Quote Post
phpcoder89
post 30.12.2008, 11:10:20
Post #12





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


to tez nic nie da. poprostu order sortuje wyniki ktore juz sa wyselekcjonowane przez group by. chodzi o to zeby najpierw posortowal od najnowszych a potem sobie wyselekcjonowal unikalne z tych najnowszych
Go to the top of the page
+Quote Post
kefirek
post 30.12.2008, 11:42:53
Post #13





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


A tak
  1. SELECT DISTINCT(nazwa) FROM spolki WHERE indeks = 'wig20' ORDER BY id DESC;


U mnie dziala

Ten post edytował kefirek 30.12.2008, 11:43:14
Go to the top of the page
+Quote Post
phpcoder89
post 30.12.2008, 12:22:15
Post #14





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


Cytat(kefirek @ 30.12.2008, 11:42:53 ) *
A tak
  1. SELECT DISTINCT(nazwa) FROM spolki WHERE indeks = 'wig20' ORDER BY id DESC;


U mnie dziala


no ok ale to mi wyciagnie same nazwy a ja chce tez wartosci...

Cytat(webdice @ 29.12.2008, 15:52:50 ) *
P.S. To są podstawy, przenoszę do działu Przedszkole.


skora sa to podstawy to dlaczego nikt od wczoraj nie potrafi mi pomoc?

?
Go to the top of the page
+Quote Post
GrayHat
post 30.12.2008, 12:51:29
Post #15





Grupa: Zarejestrowani
Postów: 566
Pomógł: 18
Dołączył: 23.08.2003
Skąd: Łomża

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


  1. SELECT *
  2. FROM spolki WHERE (
  3. id
  4. IN (
  5. SELECT max( id )
  6. FROM spolki WHERE indeks = 'wig20'
  7. GROUP BY nazwa
  8. )
  9. )


--------------------
*Note: No animals were killed durning the construction of this post.
Go to the top of the page
+Quote Post
phpcoder89
post 30.12.2008, 12:57:44
Post #16





Grupa: Zarejestrowani
Postów: 15
Pomógł: 1
Dołączył: 29.12.2008

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


Cytat(GrayHat @ 30.12.2008, 12:51:29 ) *
  1. SELECT *
  2. FROM spolki WHERE (
  3. id
  4. IN (
  5. SELECT max( id )
  6. FROM spolki WHERE indeks = 'wig20'
  7. GROUP BY nazwa
  8. )
  9. )


Dziala biggrin.gif tylko wolno :/ pierwszy raz sie wykonuje 2sekundy... nie wiecie czemu?
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 11:02