![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 2 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam otóż taki problem, chciałbym wyciągnąć z tablicy konkretną liczbę rekordów(np. 5), które byłyby posortowane alfabetycznie według kolumny title i były to rekordy z największą wagą wg. kolumny weight. Struktura tablicy pcms_tag_weights id title weight Myślałem, że wystarczy po pierwsze posortować rekordy według kolumny weight malejąco, a następnie malejąco wg. title i wyciągnąć 5 rekordów.
Ale niestety sortuje tylko wg. kolumny 'weight'. Byłbym wdzięczny za pomocną odpowiedź. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
które byłyby posortowane alfabetycznie według kolumny title i były to rekordy z największą wagą wg. kolumny weight Ten opis jest nieścisły. Podaj przykładowe dane i to, co chciałbyś z nich wyciągnąć. Bo nie można powiedzieć, że chcesz coś posortować wg pola A, ale tak, żeby pole B było posortowane. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 2 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Rzeczywiście, nie sprecyzowałem dokładnie.
Przykładowo mając rekordy: id # title # weight --------------------- 1 # ala # 1 2 # ma # 2 3 # kota # 1 4 # psa # 1 5 # słonia# 3 6 # konia# 2 Chciałbym pobrać załóżmy 3 rekordy z bazy w takiej formie, aby były to rekordy z największymi wagami i były uporządkowane alfabetycznie wg. tytułu. Po wywołaniu selecta chciałbym dostać: 6 # konia # 2 2 # ma # 2 5 # słonia # 3 Czy MySql daje możliwość zwrócenia w takiej formie wyników? Ten post edytował CzarnyGsm 4.11.2011, 14:45:34 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Znowu coś nie tak (IMG:style_emoticons/default/smile.gif) Drążę tak, bo Twoje pytanie można interpretować na co najmniej 3 sposoby.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 2 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
? no nie wiem jak już dla Pana to napisać, ale przykładowe wyniki powinny już zobrazować o co mi chodzi (IMG:style_emoticons/default/tongue.gif)
Może jeszcze inaczej napiszę. W jaki sposób mogę pobrać zadaną wcześniej ilość rekordów, takich że są to rekordy z największą wartością wg. kolumny 'weight' Cytat czyli według powyższego przykładu; limit 0, 3: 5 # słonia# 3 2 # ma # 2 6 # konia# 2 ----reszta u dołu odpada 1 # ala # 1 3 # kota # 1 4 # psa # 1 następnie chciałbym te rekordy uporządkować alfabetycznie wg. 'title'. Cytat 6 # konia# 2 2 # ma # 2 5 # słonia# 3 Czy da się to zrobić w jednym zapytaniu? Czy muszę rozdzielać to na dwa select'y oraz na tymczasową tabelę? Z góry dziękuję za pomoc. Ten post edytował CzarnyGsm 4.11.2011, 14:33:47 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 706 Pomógł: 108 Dołączył: 12.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
W podanym przez Ciebie przykładzie nie masz posortowanych wyników ani alfabetycznie, ani wg weight. Stąd moje pytanie. Spójrz jeszcze raz na swój przykład.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 2 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
Zgadza się, kolumna title nie jest uporządkowana alfabetycznie(już zedytowałem). Co do wagi to zaznaczyłem przecież, że wpierw chce wyciągnąć rekordy z najwyższymi wagami, a następnie na tych rekordach operować tzn. uporządkować je alfabetycznie według kolumny title.
Dodam, że zwracane wynik z bazy wykorzystam do wyświetlenia tagów. Czy mogę w jakiś sposób wykonać jeden select, a następnie w drugim select'ie pogrupować uzyskany wyniki wg. kolumny ? Z góry dziękuję za pomoc. Ten post edytował CzarnyGsm 4.11.2011, 14:46:06 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Pobierz w/g weight a później w PHP posortuj sobie po nazwie tagu i tyle.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 2 Dołączył: 16.04.2007 Ostrzeżenie: (0%) ![]() ![]() |
A czy nie da rady za pomocą zapytania? Wiem, że można w PHP to zrobić, ale zależy mi akurat na zapytaniu.
Z góry dziękuję za pomoc. |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 1 366 Pomógł: 261 Dołączył: 23.09.2008 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:54 |