Sqlite.Сортировка чисел - PullRequest
1 голос
/ 03 ноября 2011

У меня есть база данных Sqlite;

-- Описать CITY
CREATE TABLE City (id INTEGER PRIMARY KEY, region_id NUMERIC, name TEXT, population NUMERIC, aver_salary NUMERIC, unemployment NUMERIC, education NUMERIC, wealth NUMERIC)

Значения в хранилищах среднего уровня, безработицы, образования и благосостояния, такие как: 15,65 или 9,0 или 10,09.

Я положил вседанные с Java.В Java я работаю только со строками.

Проблема заключается в том, что когда я пытаюсь сортировать следующим образом:

SELECT * FROM City ORDERY BY aver_salary DESC

значение 12,00 предшествует 111,00.Поэтому он сравнивает строки, а не значения.

Правильно ли я сказал, что мне следует изменить типы данных Java на двойные, чтобы правильно отсортировать эти значения в sqlite?

Ответы [ 2 ]

0 голосов
/ 03 ноября 2011

Ну в общем проблема решена.

То, что я сделал, это: 1. Изменил NUMERIC на REAL в SQLite 2. Изменено значение String на Double в Java.

Все работало нормально.

0 голосов
/ 03 ноября 2011

Сортировка (ORDER BY) выполняется в SQLite, а не в Java. Так что надо сортировать численно.

Сортировка будет «неправильной», только если вы затем выполните сортировку в Java , а затем . Так что я думаю, что да, используйте Double not String для этих значений в Java, потому что они числа. Но вы также должны удалить сортировку Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...