2017-01-20 2 views
-2

Работу над базой данных Vertica в настоящее время, сталкиваются некоторые ошибки, не имеет ни малейшего представления для ошибки так нужна некоторые помогает здесь :) ниже мой запрос и ожидаемые результаты:Vertica не удалось выполнить мой запрос

SELECT 
    country 
    , merchant 
    , DISTINCT(merchant) 
    , COUNT(*) as 'Total Transaction' 
    , Max(price) as 'Max_Charge' 
FROM transaction_table 
WHERE ("action")='CHARGE' and action_status='COMPLETED' 
GROUP by(msisdn) 

my table and expected output

+0

где сообщение об ошибке? Что такое «действие»? Что такое «action_status»? – mauro

ответ

0

Запрос, похоже, не имеет большого смысла, и из того, что я понял, у него действительно есть основные недостатки SQL, поэтому я проголосовал за вас. См. Объяснение ниже; старайтесь следовать рекомендациям; и, наконец, отредактируйте свой вопрос, как только вы попробуете что-то по строкам ниже.

Похоже, возвращаясь к документации (любой, а не только Vertica) SQL может помочь вам много:

  1. DISTINCT ключевое слово только «законным» непосредственно после SELECT или в COUNT(DISTINCT <expression>)
  2. В запросе GROUP BY столбцы в списке SELECT представляют собой либо столбцы, которые будут повторяться в предложении GROUP BY, либо они являются совокупными функциями, такими как MAX() и ваш COUNT(). GROUP BY (msisdn), когда msisdn нет в списке SELECT, совсем не поможет.

Надежда эти советы помогут ---

Успехов

Marco здравомыслящий

Смежные вопросы