Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sortowanie ale nie ASC bądź DESC tylko przypadkowe, samo RAND() nie pomaga
windman
post
Post #1





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Witam,

chciałbym posortować rekordy wg jednego pola "miasto" lecz nie rosnąco lub malejąco tylko przypadkowo...
Napierw wszystkie rekordy np. z Gdyni, potem z Warszawy, następnie z Krakowa itp.
Rekordy niejako powinny być pogrupowane wg miasta ale kolejność miast powinna być przypadkowa i za każdym razem inna.

Nie mogę sobie z tym poradzić.

Ten post edytował windman 21.10.2009, 07:42:15
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 11)
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




  1. SELECT * FROM `test` GROUP BY test_columna ORDER BY RAND( )
Go to the top of the page
+Quote Post
windman
post
Post #3





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Cytat(piotrooo89 @ 21.10.2009, 08:49:33 ) *
[SQL] pobierz, plaintext
  1. SELECT * FROM `test` GROUP BY test_columna ORDER BY RAND( )
[SQL] pobierz, plaintext

na to też wpadłem, tylko że to mi da po jednym rekordzie z każdego miasta (GROUP BY miasto) ja potrzebujuę wszystkie.

Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to tak:
  1. SELECT * FROM `tes` WHERE test_col = "jakies_miasto" ORDER BY RAND( )
Go to the top of the page
+Quote Post
windman
post
Post #5





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Cytat(piotrooo89 @ 21.10.2009, 09:15:13 ) *
to tak:
  1. SELECT * FROM `tes` WHERE test_col = "jakies_miasto" ORDER BY RAND( )

No to otrzymam tylko rekordy dla miasta "jakies_miasto". Ja potrzebuję wszystkir rekordy z tabeli chodzi tylko o ich kolejność.
Go to the top of the page
+Quote Post
piotrooo89
post
Post #6


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to samo:
  1. SELECT * FROM `tes` ORDER BY RAND( )


powinno wystarczyć.

Ten post edytował piotrooo89 21.10.2009, 08:26:18
Go to the top of the page
+Quote Post
windman
post
Post #7





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Cytat(piotrooo89 @ 21.10.2009, 09:26:04 ) *
to samo:
  1. SELECT * FROM `tes` ORDER BY RAND( )
    powinno wystarczyć.

Przeczytałeś dokładnie co chcę osiągnąć? To co teraz proponujesz da mi wymieszane rekordy a ja chcę aby były one posortowane wg pola miasto, z tym że kolejność miast ma być przypadkowa!
Go to the top of the page
+Quote Post
nospor
post
Post #8





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




  1. SELECT tabela.* FROM (SELECT pole FROM tabela GROUP BY pole ORDER BY RAND()) podsel
  2. LEFT JOIN tabela ON tabela.pole=podsel.pole


za "tabela" podstaw nazwę swojej tabeli
za "pole" podstaw nazwe pola, po którym chcesz grupować
Go to the top of the page
+Quote Post
windman
post
Post #9





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Cytat(nospor @ 21.10.2009, 09:41:35 ) *
[SQL] pobierz, plaintext
    <LI class=li1>SELECT tabela.* FROM (SELECT pole FROM tabela GROUP BY pole ORDER BY RAND()) podsel
  1. LEFT JOIN tabela ON tabela.pole=podsel.pole
[SQL] pobierz, plaintext za "tabela" podstaw nazwę swojej tabeli
za "pole" podstaw nazwe pola, po którym chcesz grupować


wiekie dzięki, właśnie o to chodziło... jednakże jeszcze jedno jest mi do szczęścia potrzebne...
chciałbym aby kolejność rekordów dla danego miasta też była przypadkowa.

Mam już przypadkową kolejność miast - nazwijmy rekordy dla danego miasta grupą.
Rekordy z każdej grupy powinny być przypadkowo posortowane.


Go to the top of the page
+Quote Post
nospor
post
Post #10





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




no to juz w php sobie posortuj te grupy
Go to the top of the page
+Quote Post
windman
post
Post #11





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

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


Cytat(nospor @ 21.10.2009, 10:01:26 ) *
no to juz w php sobie posortuj te grupy


w mysql niewykonalne?

Jeszcze raz dzięki!
Go to the top of the page
+Quote Post
nospor
post
Post #12





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




Cytat
w mysql niewykonalne?
Jakoś na chwilę obecną nic mi nie przychodzi do głowy.
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: 5.10.2025 - 20:26