Функция DISTINCT в SQLite удаляет дубликаты из результирующего набора. 13 Она применяется ко всей выбранной строке. 1 Если в двух строках одинаковые значения, но в разном порядке, то в результате будет возвращена только одна из них. 1
Процесс работы функции DISTINCT включает несколько шагов: 4
- Сканирование и фильтрация. 4 Для выбора целевых строк происходит регулярное индексирование и фильтрация. 4
- Сортировка. 4 Генерируется временная таблица, содержащая подходящие строки. 4 Сортировка происходит на основе столбцов в предложении DISTINCT. 4
- Сравнение значений. 4 Механизм сортировки SQLite помещает идентичные значения последовательно рядом друг с другом. 4
- Удаление дубликатов. 4 Соседние дубликаты отбрасываются, сохраняется только первое вхождение. 4
- Рендеринг. 4 Оставшиеся уникальные строки возвращаются и отображаются в качестве результирующего набора запроса. 4
Если в операторе DISTINCT указано только одно выражение, то запрос возвратит уникальные значения для этого выражения. 3 Если указано несколько выражений, то запрос извлекает уникальные комбинации для перечисленных выражений. 3