Как мы можем получить список уникальных идентификаторов пользователя из приведенной ниже таблицы (10 записей)?
Вот правило: при сравнении идентификатора пользователя ищите только идентификатор пользователя, начинающийся с 'AB', и соответствующие ему дубликаты (кроме ').AB ').Затем получите список «уникальных идентификаторов пользователя», только вернув выше дублированный идентификатор пользователя, который не имеет «AB» в начале.
Я знаю, это звучит странно, см. Пример ниже:
Таблица Имя пользователя с десятью записями, а ее поля userId (10 записей):
ABC1234
C1234
C12345
BC12345
BBC1234
ABF1235
F1235
BCD3456
D3456
DE3456
Желаемый результат:
C1234
F1235
Я использовал приведенный ниже запрос, но обнаружил, что он совсем не решил проблему.Эта проблема намного сложнее, чем я думал, потому что я не знаю, как убедиться, что я нахожу только идентификаторы пользователей, начинающиеся с «AB» и их дубликатов (но без «AB» в начале).
SELECT
COUNT(DISTINCT CASE WHEN LEFT(userId, 2) IN ('AB') THEN SUBSTRING(userId, 3)
ELSE userId
END) AS co_count, userId
FROM UserName c where userId like 'AB%';
Спасибо за любую помощь или подсказку!