Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SELECT DISTINCT i INNER JOIN
mickula
post 7.04.2009, 21:40:33
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 28.10.2006

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


  1. SELECT DISTINCT(`experience`.`pid`)
  2. FROM `experience` JOIN `character`ON `experience`.pid=`character`.id
  3. WHERE `character`.`world` = 1
  4. ORDER BY `experience`.`exp` DESC LIMIT 10 ;

wyświetla mi:
Kod
+-----+
| pid |
+-----+
| 301 |
| 302 |
| 303 |
| 304 |
| 305 |
| 306 |
| 307 |
| 308 |
| 309 |
| 310 |
+-----+

Czyli wszystko OK.

Ale kiedy zechcę pobrać jeszcze coś:
  1. SELECT DISTINCT(`experience`.`pid`),`character`.`name`,`experience`.`exp`, `experience`.`level`
  2. FROM `experience` JOIN `character`ON `experience`.pid=`character`.id
  3. WHERE `character`.`world` = 1
  4. ORDER BY `experience`.`exp` DESC LIMIT 10 ;


To juz pomija distinct:
Kod
+-----+------------------+-----------+-------+
| pid | name             | exp       | level |
+-----+------------------+-----------+-------+
| 301 | Eternal Oblivion | 430141690 |   297 |
| 302 | Googi            | 363918727 |   281 |
| 303 | Socha            | 309388706 |   266 |
| 303 | Socha            | 308684925 |   266 |
| 304 | Xumus            | 266759896 |   254 |
| 305 | Squidy           | 251603598 |   249 |
| 305 | Squidy           | 251529017 |   249 |
| 305 | Squidy           | 250876430 |   248 |
| 306 | Band             | 240688909 |   245 |
| 306 | Band             | 240457335 |   245 |
+-----+------------------+-----------+-------+



Teraz pytanie: co mam zrobić żeby jednak wyświetlało pojedynczo te rekordy(unikalne pid)?

Ten post edytował mickula 7.04.2009, 21:41:14
Go to the top of the page
+Quote Post
kantek
post 7.04.2009, 22:05:38
Post #2





Grupa: Zarejestrowani
Postów: 73
Pomógł: 15
Dołączył: 2.04.2009
Skąd: koszalin

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


group by pid nie pomaga?

Pozdrawiam


--------------------
kantek.com.pl
Go to the top of the page
+Quote Post
mickula
post 7.04.2009, 22:15:39
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 28.10.2006

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


Poradziłem sobie inaczej:
  1. 'SELECT `experience`.`pid`,`character`.`name`,`experience`.`exp`, `experience`.`level`
  2. FROM `experience` JOIN `character`ON `experience`.pid=`character`.id
  3. WHERE `character`.`world` = '.$wid.'
  4. ORDER BY `experience`.`dayago` ASC, `experience`.`exp` DESC LIMIT 300 ;'


Tylko prosze mi powiedzieć: co będzie działało wydajniej i optymalniej?
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: 12.06.2025 - 22:02