Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%)
|
Mam takie pytanie:
Mam tabelę mySQL a w niej np. 5 rzędów z wpisami ID NAZWA KOLEJ ----------------------- 1. | rząd_1 | 1 2. | rząd_2 | 2 3. | rząd_3 | 3 4. | rząd_4 | 4 5. | rząd_5 | 5 ---------------------- ( tabela #1 ) I teraz chcę wstawić nowy rząd pomiędzy rzad_2 i rząd_3. Wymyśliłem taki sposób, że na ustalam wartość kolejnośći nowego rzędu na średnią arytmetyczną rzędów pomiędzy. W tym wypadku kolejnośc = 2.5. Otrzymuje takie coś: ID NAZWA KOLEJ ----------------------- 1. | rząd_1 | 1 2. | rząd_2 | 2 6. | rząd_N | 2.5 3. | rząd_3 | 3 4. | rząd_4 | 4 5. | rząd_5 | 5 ---------------------- ( tabela #2 ) Ale żeby nie było późniejszych zawirowań sortuje tą tabelę tak aby KOLEJ nie zawierała zmiennoprzecinkowych liczb. Otrzymuję: ID NAZWA KOLEJ ----------------------- 1. | rząd_1 | 1 2. | rząd_2 | 2 6. | rząd_N | 3 3. | rząd_3 | 4 4. | rząd_4 | 5 5. | rząd_5 | 6 ---------------------- ( tabela #3 ) I wszystko wyglada pięknie ale sortowanie przeprowadzam za pomocą PHP co jest dość nieefektywne. Zna ktoś może sposób aby ( tabelę #2 ) posortowac do postaci ( tabeli #3 ) za pomocą zapytania SQL ?! |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%)
|
Testując to wynikł jeszcze jeden problem. Co jeśli chcę zamienić miejscami wpisy np 2 i 4 a nie dodać nowy. Nie moge wtedy użyć kolej=kolej+1 bo dostałbym takie coś:
1. dodaje 1 do kazdego wpisu począwszy od 2 i mam 1. k=1 2. k=3 3. k=4 4. k=5 5. k=6 2. zamieniam 4 na 2 i ostatecznie tabela wyglada tak: 1. k=1 4. k=2 2. k=3 3. k=4 5. k=6 3. Jak widać brakuje mi teraz 5. Musi byc przeciez jakiś sposób na sortowanie tabeli mySQL. ?! Ten post edytował Black-Berry 8.06.2007, 01:14:43 |
|
|
|
Black-Berry Sortowanie tabeli mySQL 4.06.2007, 17:15:13
Darti pseudo:
update tabela set kolej = kolej+1 where na... 4.06.2007, 17:32:34
Black-Berry Kurcze rzeczywście byłbym za tym żeby użyć do tego... 4.06.2007, 17:39:28
Darti Ale w jakiś sposób musisz określić między jakie wi... 4.06.2007, 17:51:02
Darti Chcąc zamienić coś miejscami nie dodajesz wartości... 8.06.2007, 01:28:31 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 19:40 |