Autore Topic: Ordinamento dati in base a valore numerico  (Letto 715 volte)

Offline scaforchio

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu Linux
Ordinamento dati in base a valore numerico
« il: 19 Aprile 2011, 17:40:47 CEST »
0
Come faccio ad ottenere che l'order by lavori in base al valore numerico del campo?

Nonostante il campo del mio database Sqlite sia di tipo real l'order by si ostina a ordinarmi i dati in base al valore alfabetico. o_O
Non mi dite che devo effettuare l'ordinamento su un array direttamente in Java? :-o

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Ordinamento dati in base a valore numerico
« Risposta #1 il: 19 Aprile 2011, 18:19:16 CEST »
+1
eh?
scusa, se il tuo campo si chiama numero e te fai ORDER BY numero ASC, ti verranno sicuramente ordinati, anche perchè se li ordina in ordine alfabetico l'1 è comunque dopo lo 0....

mi era venuto il dubbio e ho fatto una prova:
con SQlite database browser:
creato una tabella fatta cosi:
Codice: [Seleziona]
CREATE TABLE Prova (_id INTEGER PRIMARY KEY, numero REAL, testo TEXT);
INSERT INTO Prova VALUES(1,0.214,'dsa');
INSERT INTO Prova VALUES(2,1.2,'dsada');
INSERT INTO Prova VALUES(3,0.2145,'ssssaa');
INSERT INTO Prova VALUES(4,0.5,'sadfdsfd');

come vedi non sono in ordine: 0.214 1.2 0.2145 0.5
se io faccio questa query:
Codice: [Seleziona]
Select * from Prova order by numero ascottengo:
id|numero|text
1 | 0.214 | dsa
3 | 0.2145 | ssssaa
4 | 0.5 | sadfdsfd
2 | 1.2 | dsada


quindi con REAL funziona! verifica che valori hai inserito!
« Ultima modifica: 19 Aprile 2011, 18:27:24 CEST da Nicola_D, Reason: Aggiunto esempio »
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline scaforchio

  • Nuovo arrivato
  • *
  • Post: 15
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    Ubuntu Linux
Re:Ordinamento dati in base a valore numerico
« Risposta #2 il: 19 Aprile 2011, 18:32:29 CEST »
0
eh?
scusa, se il tuo campo si chiama numero e te fai ORDER BY numero ASC, ti verranno sicuramente ordinati, anche perchè se li ordina in ordine alfabetico l'1 è comunque dopo lo 0....

mi era venuto il dubbio e ho fatto una prova:
con SQlite database browser:
creato una tabella fatta cosi:
Codice: [Seleziona]
CREATE TABLE Prova (_id INTEGER PRIMARY KEY, numero REAL, testo TEXT);
INSERT INTO Prova VALUES(1,0.214,'dsa');
INSERT INTO Prova VALUES(2,1.2,'dsada');
INSERT INTO Prova VALUES(3,0.2145,'ssssaa');
INSERT INTO Prova VALUES(4,0.5,'sadfdsfd');

come vedi non sono in ordine: 0.214 1.2 0.2145 0.5
se io faccio questa query:
Codice: [Seleziona]
Select * from Prova order by numero ascottengo:
id|numero|text
1 | 0.214 | dsa
3 | 0.2145 | ssssaa
4 | 0.5 | sadfdsfd
2 | 1.2 | dsada


quindi con REAL funziona! verifica che valori hai inserito!

Per fortuna il problema dipendeva dai dati. Per motivi strani ha importato alcuni dati con la virgola invece che con il punto e quindi non li riconosce come numeri.
La cosa strana è che in visualizzazione mi fa vedere tutti allo stesso modo e ciò mi ha creato un po' di problemi.
« Ultima modifica: 19 Aprile 2011, 18:57:05 CEST da scaforchio »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Ordinamento dati in base a valore numerico
« Risposta #3 il: 19 Aprile 2011, 19:02:31 CEST »
0
a me viene sempre giusto l'ordine...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia