@Johnem

Как выбрать строки только с одним уникальным столбцом SQLite?

Здравствуйте, есть БД с 4 столбцами ( id (INTEGER PRIMARY KEY), security_id, date_and_time, price) Как мне выбрать строки (именно все ее значения) в которых только столбец price уникален?
  • Вопрос задан
  • 163 просмотра
Решения вопроса 1
@Johnem Автор вопроса
SELECT X.ID, X.SECURITY_ID, X.DATE_AND_TIME, X.PRICE FROM (
SELECT CASE WHEN NEXT_VALUE = 0 THEN 1
WHEN NEXT_VALUE = PRICE THEN 0
ELSE 1 END AS CHECK_VALUE, A.* FROM (
SELECT A.*,LEAD(A.PRICE, 1, 0) OVER(ORDER BY ID) NEXT_VALUE FROM
TAB A ) A ) X WHERE CHECK_VALUE = 1 ORDER BY ID
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
Избавиться от дубликатов можно, добавив в запрос ключевое слово DISTINCT. Оно указывается в предложении SELECT, сразу после ключевого слова SELECT:
SELECT DISTINCT <Перечень столбцов>
FROM <Перечень таблиц>

Уникальные записи – SELECT DISTINCT
Ответ написан
LaRN
@LaRN
Senior Developer
Для sqllite можно так попробовать.
SELECT
	MIN(id) ,
	price
FROM
	your_table
GROUP BY
	price
HAVING COUNT(price) = 1;

Запрос должен вернуть идентификаторы строк у которых уникальная цена.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы