проблема с запросом к базе данных sqlite, отдельный запрос не работает - PullRequest
2 голосов
/ 02 августа 2011

в моей базе данных sqlite таблица с именем image содержит три поля label, url и index. Я написал следующий фрагмент кода для извлечения данных из базы данных: «SELECT DISTINCT (label), index from image;». В моей таблице есть ярлык «Кошка» 3 раза. Согласно этому коду, в моей базе данных должен отображаться только один «кот». Но это не сработает. Он выбирает все три ярлыка «Кошка». Почему так происходит? Пожалуйста, помогите мне найти возможное решение. Поле индекса отличается для всех трех меток «Cat».

Ответы [ 2 ]

2 голосов
/ 03 августа 2011

Ключевое слово DISTINCT не является функцией, оно указывает, что повторяющиеся строки должны быть удалены из результатов:

Если простой SELECT является SELECT DISTINCT, то дублирующиеся строки удалено из набора строк результата до его возврата

То, что вы пытаетесь выполнить, вероятно, требует от вас группировки по ярлыкам:

SELECT label, index FROM image GROUP BY label
0 голосов
/ 02 августа 2011

Попробуйте это:

select label, index from image
where label in (select distinct label from image)
...