![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 336 Pomógł: 0 Dołączył: 25.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
Witam Was wszystkich. Poniżej wkleiłem kod mysql. Chcę dodać do zapytania GROUP BY, lecz nie wiem jak to zrobić. Próbuje na różne sposoby, ale nie wychodzi.
Proszę Was o pomoc jak to rozgryźć. Z góry dziękuje.
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To moze pokaz jak probujesz to dodac i jakie bledy dostajesz. W dokumentacji mysql masz jasno napisane przy skladni SELECT gdzie sie wstawia group by wiec ciezko mi sobie wyobrazic z czym konkretnie masz problem
ps: swoja droga co to za warunek? WHERE id warunek ma cos okreslac np WHERE id > 10 WHERE id = 5 itd itd a nie samo id |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 336 Pomógł: 0 Dołączył: 25.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
Nospor masz racje. Zmieniłem to i teraz wygląda tak:
Niestety dalej nie chce mi grupować miejscowości o tej samej nazwie. :/ |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Nie kumam co i gdzie chcesz grupowac.
Teraz GROUP BY dales w zapytaniu ktore zlicza liczbe rekordow. Dajac tam GROUP BY, zapytanie zwroci ci wiersze zawieracace liczbe miast o tej samej nazwie. I tyle. I ty z tego zapytania pobierasz tylko jeden wiersz. Drugie zapytanie, ktore teoretycznie zwraca juz dane z rekordow, tam nie masz GROUP BY i tez pobierasz jeden rekord. Moze wez sam sie najpierw zastanow co chcesz osiagnac, wywal to pseduo stronicowanie i skup sie na tym co chcesz zrobic i nam napisz. Bo teraz ni w zab nic z tego nie wynika |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 336 Pomógł: 0 Dołączył: 25.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Czyli chcesz losowo wyswietlic 10 roznych miast?
Czyli tak select * from ( SELECT * FROM k_copy GROUP BY miasta) as podseld ORDER BY RAND() LIMIT 10 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 336 Pomógł: 0 Dołączył: 25.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
Jezeli mam w bazie 160k rekordow to ta funkcja nie bedzie obciazala za mocno serwera ? Czytalem, aby RAND nie uzywać,ale moge sie mylic.
|
|
|
![]()
Post
#8
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No to zamien to moje zapytanie
select * from ( SELECT * FROM k_copy GROUP BY miasta) as podseld ORDER BY RAND() LIMIT 10 na to twoje wczesniejnie gdzie wyliczales offset i juz. Ale zasada do wyswietlenia 10 roznych miast jest wlasnie taka jak podalem |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 336 Pomógł: 0 Dołączył: 25.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
tak to ma wygladac
kuzwa tepa dzida ze mnie ..... :/ |
|
|
![]()
Post
#10
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
No nie, bo wrociles do punktu co miales pare postow wyzej. Mowielm, przystosuj ten kod do tego co ja ci podalem
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 336 Pomógł: 0 Dołączył: 25.10.2006 Ostrzeżenie: (10%) ![]() ![]() |
tak jest prawidlowo (IMG:style_emoticons/default/questionmark.gif) ?
|
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ja sie wlasnie ucze na egzamin a ty skolei wylaczyles myslenie. Ja ci gotowca nie podam.
No teraz uzyles RAND w sortowaniu, a dopiero co marudziles ze to wolne i ma byc inaczej. No to czy to jest dobrze? No logicznie pomysl przez chwile.... O to FLOOR(RAND() * COUNT(*)) masz wstawic gdzies, a potem majac wynic tego czegos masz pobrac wlasciwe rekordy ale tez pamietajac o strukturze co ci wczesniej podalem |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 16:02 |