2011-01-25 2 views
21

Я хотел бы узнать, можно ли получить список отдельных значений в столбце SQLite без их упорядочивания.SQLite Выберите DISTINCT Значения столбца без заказа

Я пробовал следующий запрос. Но он автоматически упорядочивает уникальный текст в порядке возрастания.

SELECT DISTINCT column FROM table;

Ex.

Колонка

Mathew 
Mathew 
John 
John 
John 
Numbers 
Numbers 

Результат

John 
Mathew 
Numbers 

Но я хотел бы, чтобы не заказывать. Хотелось бы это в Мэтью, Джон, Числа

Спасибо.

+0

В каком порядке вам понравятся результаты? используйте 'ORDER BY some_other_column' –

+0

Я хочу, чтобы он отображался в порядке появления без какого-либо заказа по текстам столбцов. У меня двойные значения близки друг к другу. –

ответ

33

Какой заказ вы хотите?

Если вы хотите, чтобы получить значение в порядке первого появления вы можете сделать:

select distinct column 
    from table 
order by min(rowid); 
+1

Я хотел бы иметь тот же порядок, что и в моем столе. Но я не понимаю выше запроса. Не могли бы вы объяснить это немного. У меня двойные значения близки друг к другу. –

+0

Я добавил INTEGER PRIMARY KEY Столбец с SQLiteBrowser и ORDERED BY этим новым столбцом MIN(). :) Благодаря. –

+0

Строка - это неявный INTEGER PRIMARY KEY. См. Http://www.sqlite.org/lang_createtable.html – AtnNn

2

Что значит «без заказа»? В таблице SQL нет естественного порядка, поэтому по умолчанию по возрастанию по столбцу слева направо такой же хороший, как и любой другой порядок. Если вы предпочитаете другой заказ, SELECT DISTINCT принимает предложение ORDER BY.

+0

Собственно с этим запросом на SQLite текст столбца упорядочен в порядке возрастания. –

+0

Да, это моя точка зрения. Основная таблица (форма, на которую были сделаны данные) не имеет «естественного» порядка, так как бы вы ожидали, что результирующий набор будет отсортирован? Восходящий порядок имеет такой же смысл, как и все остальное, поскольку нет «неупорядоченного» порядка, который должен соблюдаться. –

+0

Но когда я попробовал запрос, он показывает упорядоченное с SQLite. Я редактировал свой вопрос с результатами. –

0

эй один простой метод будет добавлять серийный номер (сделать его первичный ключ), как вы вставляете запись и опускайте порядок.

Смежные вопросы