Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sortowanie w mySQL
Forum PHP.pl > Forum > Bazy danych > MySQL
Civil
witam, czy jest mozliwoscs takiego sortowania w MySQL, ze

jezeli mamy np. tabelke

x y
1 2
2 2
3 5
4 6
5 6
6 7
7 6

To on posortuje to wg najczesciej wystepujacych y

czyli tak o

4 6
5 6
7 6
1 2
2 2

itd?

Pozdrawiam
kicaj
GROUP BY? Ale nie jestem pewien...
wijet
No to ja naskrobalem cos takiego, mam tabelke
id | var
1 | 3
2 | 4
3 | 3
4 | 2
5 | 2
6 | 1
7 | 4
8 | 4

Zebe ja posorwowac wedlug twojego schematu napisalem takie zapytanie
  1. SELECT tabelka.var,id FROM tabelka,(SELECT var,count(var) AS ilosc FROM tabelka GROUP BY var ORDER BY ilosc DESC)
  2. AS licznik WHERE tabelka.var = licznik.var;


Zapewne nie jest to jedyne, a juz napewno nie najszybsze zapytanie poniewaz zawiera subselecta.
Jutro moze cos pokombinuje, ide spac biggrin.gif
EDIT
Zapomnialem dodac ze musisz miec MySQL w wersji >=4.1
batman
A nie prościej by było:

  1. SELECT * FROM tab ORDER BY y DESC , x


@nospor
Masz rację. Nie doczytałem do końca i stąd moja pomyłka.
nospor
@Batman nie, bo to ma robic wedlug najczęsciej wystepujacych wartosci. A ze kolesiowi w przykladzie wyszlo akurat ze jest to od najwiekszej do najmniejszej, to zapewne przypadek smile.gif
Pozatym w przykladzie zapomnial o liczbie 7, ktora by juz rozwiala Twoje watpliwosci
Civil
Wersja Wijeta wydaje mi się być skomplikowana, ale coś czuję, że działa.

Sprawdzę dzisiaj i dam znać smile.gif


Działa! Muszę przyznać, iż się miło zaskoczyłem smile.gif Myślałem, że takie zapytanie jest niemożliwe bez ingerencji php a tu proszę. Dzięki piękne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.