mysql DISTINCT показывает одно и то же дважды

#mysql

#mysql

Вопрос:

У меня есть таблица с более чем 5 тыс. записей. Поле payment_mode имеет 3 типа — A, B, C. Когда я запрашиваю это: ВЫБЕРИТЕ DISTINCT payment_mode из MY_TABLE, это дает следующий результат:

 payment_mode    
A
B
C
A
B
C

Shouldn't it be just showing:
A
B
C
  

Это приводит к неправильному отчету на передней панели приложения.

Комментарии:

1. Проверьте наличие невидимых символов.

2. когда я запускаю это, чтобы найти разницу: ВЫБЕРИТЕ [YourColumn], ПРИВЕДИТЕ ([YourColumn] как varbinary(max)) ИЗ [YourTable], это выдает синтаксическую ошибку

3. Я не думаю, что DISTINCT — это то, что вы ищете. Попробуйте ВЫБРАТЬ payment_mode ИЗ ГРУППЫ my_table ПО payment_mode

4. Если group by дает несколько результатов для A, у вас могут быть пробелы вокруг него. используйте TRIM()

5. Какой бит нет varbinary в mysql был вам неясен, см. Руководство dev.mysql.com/doc/refman/8.0/en/cast-functions.html для допустимых типов приведения.

Ответ №1:

ВЫБЕРИТЕ DISTINCT(payment_mode) из MY_TABLE