У меня очень простая проблема, которую я не могу решить. Мне нужно сделать что-то вроде этого:
select distinct * from (1, 1, 1, 2, 5, 1, 6).
Кто-нибудь может помочь ??
редактировать
Данные поступают в виде текстового файла от одного из наших клиентов. Он полностью не отформатирован (это одна очень длинная строка текста), но это возможно сделать в Excel. Но это не практично для меня, потому что мне нужно будет использовать эти значения в моем SQL-запросе. Это не удобно делать каждый раз, когда мне нужно выполнить запрос.
sql-server
select-query
Eedoh
источник
источник
$d = (1, 1, 1, 2, 5, 1, 6) | sort -Unique
чтобы получить различные значения в массиве$d
. Легко распространить на инструмент «файл в файл».Ответы:
Простейший способ получить отличительные значения длинного списка текста, разделенного запятыми , состоит в том, чтобы найти замену с помощью UNION, чтобы получить разные значения.
Применяется к вашей длинной строке текста с разделителями-запятыми
UNION SELECT
SELECT
перед заявлениемТеперь у вас должен быть рабочий запрос
источник
Доступно только в SQL Server 2008 и более, это конструктор строк в этой форме:
вы можете использовать
Многие писали о среди них:
источник
X
это псевдоним для имени таблицы иa
псевдоним для имени столбца;).pgsql
и теперь стучит головой, чтобы заставить FROM принимать второстепенные значения в качестве записей строкsqlserver
, и вот оно. Рад знать.В основном :
В твоем случае :
источник
Вы пытались использовать следующий синтаксис?
источник
SELECT DISTINCT table_name.column_name FROM (VALUES (1), (2), (3)) AS table_name(column_name)
Если вы хотите выбрать только определенные значения из одной таблицы, вы можете попробовать это
например:
если вы хотите выбрать из нескольких таблиц, то вы должны пойти на
UNION
.Если вы просто хотите выбрать значения 1, 1, 1, 2, 5, 1, 6, то вы должны сделать это
источник
PostgreSQL дает вам 2 способа сделать это:
или
используя подход массива, вы также можете сделать что-то вроде этого:
источник
:)
Это работает на SQL Server 2005, и если есть максимальное число:
источник
Я знаю, что это довольно старая ветка, но я искал что-то подобное и придумал это.
Учитывая, что у вас есть запятая строка, вы можете использовать
string_split
Это должно вернуться
String split принимает два параметра: ввод строки и символ-разделитель.
Вы можете добавить необязательный оператор where, используя в
value
качестве имени столбцапроизводит
источник
Если вам нужен массив, разделите столбцы массива запятой:
источник
Другой способ, которым вы можете воспользоваться, это запрос, подобный следующему:
источник
источник
Метод, который мне помог, состоит в том, чтобы запросить таблицу, в которой, как вы знаете, содержится большое количество записей, в том числе только поле Row_Number в вашем результате.
вернет набор результатов из 10000 записей от 1 до 10000, используйте его в другом запросе, чтобы получить желаемые результаты
источник
Используйте
In
функцию SQLЧто-то вроде этого:
Работает угощение в ArcGIS
источник