Kezdőoldal » Számítástechnika » Programok » MySQL Workbench probléma....

MySQL Workbench probléma. Miért nem rendez sorba a parancs?

Figyelt kérdés

MySQL Workbench-ben kell dolgoznom. Chates felhasználók statisztikáit használom. A felhasználókról a felhasználónevük, a beütött karaktereinek számai, a szavak számai, és többféle adat van. Én szeretném csökkenő sorrendben az összes felhasználónak a betűinek a számát rendezni.

Így:

select NICKNAME, BETUK_SZAMA

from chatusers.chatfelhasznalok

order by BETUK_SZAMA desc;

Többféleképpen próbálkoztam már vele, de nem működik. Az adatokat mindenféle sorrendben írja, csak nem csökkenő sorrendben. Növekvővel is próbálkoztam már, de össze-vissza rendezi, és pár embert kihagy, aki az eredeti listában szerepel.

Mi lehet a probléma ezzel, vagy én csinálok valamit rosszul?



2018. dec. 31. 14:55
1 2
 1/13 anonim válasza:
Jo volna par pelda adat amit eredmenyul kaptal.
2018. dec. 31. 15:26
Hasznos számodra ez a válasz?
 2/13 A kérdező kommentje:

dave24 985,101

DITTI 959,060

Szerii 957,629

der 917,870

MissEperszoke 884,014

Hunter 850,342

Stealth 839,123

joember 839,123

deviance 794,809

off 650,333

BOSZInnyo 4,374,395

scamapknip 3,981,383

Geri 1,968,091

Shin 1,960,815

zsolti110 1,787,756

bella 1,750,196

Naamah 1,352,477

Sunset 1,167,141

dave25 1,159,305

Godfather 1,037,069

2018. dec. 31. 15:32
 3/13 anonim ***** válasza:
100%

A BETUK_SZAMA nem számként van tárolva, hanem szövegként, ezért betűrend szerint rendez csökkenő sorrendben. Gyorsfix:

ORDER BY CONVERT(REPLACE(BETUK_SZAMA, ',', ''), UNSIGNED INTEGER) DESC

Értelmes fix: Ne tárold szövegként a számokat.

2018. dec. 31. 15:56
Hasznos számodra ez a válasz?
 4/13 A kérdező kommentje:

utolsónak köszönet!

parancs helyett nem lehet valahogy utólag módosítani azt, hogy másképp tárolja?

2018. dec. 31. 16:06
 5/13 anonim ***** válasza:
100%

Hogyne lehetne.

1) START TRANSACTION

2) ALTER TABLE-lel hozzáadsz egy új INT típusú mezőt a táblához, mondjuk X néven

3) UPDATE-tel frissítesz minden rekordot, hogy az X-be a BETUK_SZAMA legyen tárolva számként

4) ALTER TABLE-lel törlöd a BETUK_SZAMA mezőt.

5) ALTER TABLE-lel átnevezed az X mezőt BETUK_SZAMA névre

6) Ha szükséges, ALTER TABLE utasítással indexet teszel a BETUK_SZAMA mezőre

7) Ha minden sikerült, COMMIT, ha valami elhasalt, ROLLBACK

2018. dec. 31. 16:15
Hasznos számodra ez a válasz?
 6/13 A kérdező kommentje:

Köszönöm, bár én teljesen újat kezdtem. A TEXT-ről módosítottam INT-re, viszont most megint született egy probléma :D

Méghozzá teljesen más számokat ír ki, mint ami az eredeti fájlban szerepelnek... Én ezt nem is értem.

2018. dec. 31. 16:27
 7/13 anonim ***** válasza:
Talán azért, mert attól, hogy a mező típusát átállítod, még nem fogja az ott tárolt szöveget számmá alakítani. Nem véletlen volt, hogy azt a lépéssort javasoltam, amit.
2018. dec. 31. 16:31
Hasznos számodra ez a válasz?
 8/13 A kérdező kommentje:
Én az előbbi dolgot sajnos nem értem, próbálkoztam vele. Úgy döntöttem, hogy drop schema lesz, és teljesen újat kezdek el, de ott is fennáll ugyanez a probléma.
2018. dec. 31. 17:24
 9/13 anonim ***** válasza:
Ez a programozás már csak ilyen, mindig újabb és újabb problémák jönnek elő.
2018. dec. 31. 18:58
Hasznos számodra ez a válasz?
 10/13 A kérdező kommentje:
Akkor legyen a rák programozó. Aki szeret szenvedni.
2019. jan. 1. 11:32
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!