2015-02-20 2 views
-3

У меня есть этот запрос, и мне нужно получить maxvalue лагеря CCSEQ, я попытался использовать этот запрос, но он не работает, если кто-нибудь может мне помочь, я буду очень признательна.Как получить максимальное значение следующего запроса

запрос

select max(cc.CCSEQ), cc.ccline4, cc.ccstreetno, cccity 
from ccontact cc 
where customer_id = '724609' and ccbill = 'X'; 

EDIT

я решил проблему с этим запросом

select cc.ccline4, cc.ccstreetno, cccity 
from ccontact cc 
where CC.customer_id = '724609' and CC.ccbill = 'X' 
AND cc.CCSEQ = (SELECT MAX(C1.CCSEQ) FROM ccontact c1 
         WHERE CC.customer_id = C1.customer_id) 

С наилучшими пожеланиями

+0

И что он возвращает? – mmmmmpie

+1

Агрегированные функции обычно используют ключевое слово GROUP BY. –

ответ

0

Не следует смешивать простые колонки с агрегатами, если вы не 't группой этими равными столбцами:

select max(cc.CCSEQ) 
from ccontact cc 
where customer_id = '724609' and ccbill = 'X'; 
0

Трудно определить абсолютный правый запрос, не зная схемы, но я предполагаю, что для выбора вы хотите использовать максимальный CCSEQ и соответствующие ccline4, ccstreetno и cccity. Есть несколько способов сделать это. С подзапросом это будет выглядеть так:

SELECT 
    cc.ccseq, cc.ccline4, cc.ccstreetno, cccity 
FROM 
    (SELECT max(cc.CCSEQ) AS maxccseq FROM ccontact WHERE customer_id = '724609' and ccbill = 'X') as ccmax 
    INNER JOIN ccontact cc ON 
     ccmax.maxccseq = cc.CCSEQ 
Смежные вопросы