Вот правило:
При сравнении userId ищите только userId, начинающийся с 'AB', и соответствующие ему дубликаты (кроме 'AB').Затем получите список «уникальных идентификаторов пользователя», вернув только дублированный идентификатор пользователя, в начале которого стоит «AB».
Для возвращенной дублированной строки, начинающейся с 'AB', мы должны убедиться, что есть "duplicate";в противном случае мы не должны возвращать 0 записей
Я знаю, это звучит странно, см. пример ниже:
Таблица UserName с десятью записями и ее полями userId (10 записей) являются:
ABC1234
C1234
C12345
BC12345
BBC1234
ABF1235
F1235
ABY1236
BCD3456
D3456
Желаемый результат после выполнения запроса:
ABC1234
ABF1235
Обратите внимание: хотя ABY1236 начинается с 'AB', эта запись не должна возвращаться в выводе, так как она не«двойное» совпадение, например Y1236 (игнорируя первые два символа, «AB»).
У меня есть пример запроса ниже, но он вернул только дублированную запись, НЕ начинающуюся с 'AB', также он вернет ABY1236.
SELECT distinct substr(userId , -(length(userID)-2))
from UserName where userId like 'AB%';
Спасибо за помощь!