2015-04-28 3 views
-4

У меня есть столбец таблицы, которая имеет целые числа, например:Список вхождения в колонке - SQL

2 
2 
1 
2 
3 
1 
3 

Как получить значение, которые происходят в этой колонке? В этом случае результаты должны быть:

1 
2 
3 

Я знаю, что есть что-то Postgre называется width_bucket, но я не мог сделать, что работать со мной, и я даже не уверен, что, как предполагается решить мою проблему.

Заранее спасибо.

+2

Ум, не уверен, что я понимаю ваш вопрос - 'select different ... order by ...' достигнет ваших результатов ... – sgeddes

ответ

0

Основываясь на ваш вопрос, это просто select distinct и затем order by

SELECT distinct(Column_Name) 
FROM Table_name 
ORDER BY Column_Name DESC 

Или

SELECT distinct(Column_Name) 
FROM Table_name 
ORDER BY Column_Name 

В зависимости от порядка сортировки, который вы хотите

+0

Это сортирует 'Column_Name' в порядке убывания, а пример OP имеет восходящий порядок. – potashin

+0

Хорошая уловка, я добавил другую опцию, основанную на том, какой заказ хочет OP – BrianAtkins

+0

Вы можете опустить 'ASC', это опция по умолчанию. – potashin

0

Вы можете использовать distinct ключевое слово или group by положение с order by:

select distinct col from tbl order by col 
select col from tbl group by col order by col 
+0

@MarcusAdams: Знал о это в MySQL (однако [полагающийся на неявный порядок, кажется, устарел с 5.6] (http://dev.mysql.com/doc/refman/5.6/en/select.html)), но как насчет Postgres? – potashin

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