2013-06-14 2 views
1

Кто-нибудь знает, как я могу фильтровать записи и получать максимальные записи с помощью sql?Как фильтровать записи и получать максимальные записи с помощью sql?

Пример:

Если у меня есть следующие данные в TABLEA

DIN   Title  FirstName  LastName  Phone   StNum  StName 
A1111111 Mr   A    Scott  0412352145 1   Churct St 
A2222222 Miss  C    Scott  0412352145 1   Churct St 
A1111  Mr   B    Scott  0412352145 1   Churct St 

Как я могу с помощью сценария SQL для фильтрации записи на основании того же телефонный номер, а затем только получить большой DIN запись ?

Так уважая возвращение запись вроде следующего:

DIN   Title  FirstName  LastName  Phone   StNum  StName 
A2222222 Miss  C    Scott  0412352145 1   Churct St 
+0

Почему я ниспроверг этот вопрос: http: //meta.stackexcha nge.com/a/149138/133242 –

+0

Что вы подразумеваете под «большей DIN-записью». Вы имеете в виду самую длинную строку или наибольшее число после A или DIN соответствует шаблону, например A1111, B2222, C3333 и т. Д., А C333 является самым большим, поскольку он является последним в алфавитном порядке – adaam

ответ

0

Один из распространенных способов сделать это является присоединение таблицы к себе, используя MAX агрегат:

select t.* 
from yourtable t 
    join (
     select phone, max(din) maxdin 
     from yourtable 
     group by phone 
    ) t2 on t.phone = t2.phone and t.din = t2.maxdin 
Смежные вопросы