мне нужно извлечь данные из самого высокого идентификатора вместо самого низкого в этой команде sql?

#sql

#sql

Вопрос:

 SELECT  DEBTOR_ID, 
        LEFT(NAME1, 30) AS NAME1, 
        SSN1, 
        DOB1, 
        DL1, 
        PRIORITY, 
        NEXT_CONTACT_DATE, 
        NEXT_CONTACT_TIME, 
        STATUS_CODE, 
        SCORE, 
        ASSIGN_ID 
FROM    DM.DBTR 
WHERE   STATUS_CODE = 110 
AND     ASSIGN_ID = '001'
ORDER BY DBTR.DEBTOR_id
 

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

1. Вы имеете в виду, что вместо ASSIGN_ID='001' того, чтобы выбирать то, что имеет наибольшее ASSIGN_ID значение для этой группы (будет ли это debtor_id ?)

2. Вы имеете в виду перечислить идентификаторы в порядке убывания? В этом случае вы бы просто добавили «desc» в свой заказ по предложению, например: ORDER BY DBTR.DEBTOR_id DESC .

Ответ №1:

В случае, если вы имеете в виду порядок по убыванию, просто используйте

 ORDER BY DBTR.DEBTOR_id DESC
 

Ответ №2:

Просто упорядочите свои данные в порядке убывания, используя desc ключевое слово:

 SELECT   DEBTOR_ID, LEFT(NAME1, 30) AS NAME1, SSN1, DOB1, DL1,
         PRIORITY,
         NEXT_CONTACT_DATE, NEXT_CONTACT_TIME, STATUS_CODE, SCORE,
         ASSIGN_ID 
FROM     DM.DBTR 
WHERE    STATUS_CODE = 110 AND ASSIGN_ID = '001'
ORDER BY DBTR.DEBTOR_id DESC
 

Ответ №3:

Я предполагаю, что вы говорите о ASSIGN_ID ? если это так, вы можете использовать IDENT_CURRENT . Так что это было бы что-то вроде

 IDENT_CURRENT('ASSIGN')
 

где ASSIGN — это имя таблицы, относящееся к ASSIGN_ID

Вы также можете

 ORDER BY ASSIGN_ID DESC