![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Panowie, chec ułożyć zapytanie typu SELECT * FROM tabele ORDER BY .... i tutaj żeby było warunkiem najbliża wartość pola tabeli NUMER względem zmiennej ZMIENNA czyli mam zmieną 5.4554 a w tabela id | NUMER 1 | 1.233 2 | 4.233 3 | 5.123 4 | 1.146 chcialbym uzyskać z zapytania kolejność 5.123 4.233 1.146 1.233 Ten post edytował netvalue 7.06.2013, 19:53:28 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
ale jeszcze musisz miec warunek where, samo order by ci nie wystarczy
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
nie rozumiem do czego mi ten warunek ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
jezeli twoja zmienna bedzie wynosic 4.5000
to jak chcesz miec wynik? order sortuje cały zasób danych wiec masz sortowanie asc lub desc i w tym wypadku zawsze bedzie pierwsze 1.233 lub 5.123 A moze zalezy ci na znalezieniu najblizszej wartosci twojej zmiennej?? Ten post edytował wiiir 7.06.2013, 20:21:20 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
i tak tez chcę wyniku miec malejace wartosci od mojego float 5.4554
5.123 4.233 1.146 1.233 robiłem select * from customer order by abs(`rate` - 5.4554) asc ale jakos dziwnie zwraca bo przy pełnej tabeli regordów np wartość 2.341 pred wartościa 4.233 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Takim zapytaniem nigdy nie bedziesz mial malejacych wartosci
przykład: masz dane 1 1.234 2 2.343 3 4.111 4 4.555 Twoja zmienna: 3 Twoje zapytanie:
Wynik: 2 2.343 3 4.111 4 4.555 1 1.234 Ty orderujesz po roznicy nie po wartosci |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
no własnie , a jak mam w kolejności warotści to zestawić ?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 260 Pomógł: 34 Dołączył: 22.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie ustawisz.
Jezeli twoja zemienna to 3 i najbliższą wartościa jest 3.1 a w kolumnie masz jeszcze wartosc 1 i 4 to teraz w zaleznosci jak bedziesz sortować zawsze pierwsze bedzie albo 1 albo 4. Zakumałes? zebys miał wynik 3.1 1 To musisz wykluczyć 4 ze zbioru do sortowania. |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2024 - 01:48 |