Error Message: “TOK_ALLCOLREF is not supported in current context” while using nested select in hive2.3.3





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















when i use the nested select in hive like this



Select 
a.month,
a.day,
sum(a.pv)/count(a.*)
from
(Select month,day, remote_addr,count(1) as pv
from ods_weblog_detail group by remote_addr,month,day) as a;


it returns the error message:"TOK_ALLCOLREF is not supported in current context".



but when I select a.month,a.day and sum(a.pv)/count(a.*) seperately like this:



Select 
sum(a.pv)/count(a.*)
from
(Select month,day, remote_addr,count(*) as pv from ods_weblog_detail group by remote_addr,month,day) as a;


OR this:



Select 
a.month,a.day
from
(Select month,day, remote_addr,count(*) as pv
from
ods_weblog_detail
group by remote_addr,month,day) as a;


Both statements give me the right answer.
So why can't I select these three(a.month,a.day and sum(a.pv)/count(a.*)) together in one statement? thanks a lot!!!










share|improve this question































    0















    when i use the nested select in hive like this



    Select 
    a.month,
    a.day,
    sum(a.pv)/count(a.*)
    from
    (Select month,day, remote_addr,count(1) as pv
    from ods_weblog_detail group by remote_addr,month,day) as a;


    it returns the error message:"TOK_ALLCOLREF is not supported in current context".



    but when I select a.month,a.day and sum(a.pv)/count(a.*) seperately like this:



    Select 
    sum(a.pv)/count(a.*)
    from
    (Select month,day, remote_addr,count(*) as pv from ods_weblog_detail group by remote_addr,month,day) as a;


    OR this:



    Select 
    a.month,a.day
    from
    (Select month,day, remote_addr,count(*) as pv
    from
    ods_weblog_detail
    group by remote_addr,month,day) as a;


    Both statements give me the right answer.
    So why can't I select these three(a.month,a.day and sum(a.pv)/count(a.*)) together in one statement? thanks a lot!!!










    share|improve this question



























      0












      0








      0


      1






      when i use the nested select in hive like this



      Select 
      a.month,
      a.day,
      sum(a.pv)/count(a.*)
      from
      (Select month,day, remote_addr,count(1) as pv
      from ods_weblog_detail group by remote_addr,month,day) as a;


      it returns the error message:"TOK_ALLCOLREF is not supported in current context".



      but when I select a.month,a.day and sum(a.pv)/count(a.*) seperately like this:



      Select 
      sum(a.pv)/count(a.*)
      from
      (Select month,day, remote_addr,count(*) as pv from ods_weblog_detail group by remote_addr,month,day) as a;


      OR this:



      Select 
      a.month,a.day
      from
      (Select month,day, remote_addr,count(*) as pv
      from
      ods_weblog_detail
      group by remote_addr,month,day) as a;


      Both statements give me the right answer.
      So why can't I select these three(a.month,a.day and sum(a.pv)/count(a.*)) together in one statement? thanks a lot!!!










      share|improve this question
















      when i use the nested select in hive like this



      Select 
      a.month,
      a.day,
      sum(a.pv)/count(a.*)
      from
      (Select month,day, remote_addr,count(1) as pv
      from ods_weblog_detail group by remote_addr,month,day) as a;


      it returns the error message:"TOK_ALLCOLREF is not supported in current context".



      but when I select a.month,a.day and sum(a.pv)/count(a.*) seperately like this:



      Select 
      sum(a.pv)/count(a.*)
      from
      (Select month,day, remote_addr,count(*) as pv from ods_weblog_detail group by remote_addr,month,day) as a;


      OR this:



      Select 
      a.month,a.day
      from
      (Select month,day, remote_addr,count(*) as pv
      from
      ods_weblog_detail
      group by remote_addr,month,day) as a;


      Both statements give me the right answer.
      So why can't I select these three(a.month,a.day and sum(a.pv)/count(a.*)) together in one statement? thanks a lot!!!







      select hive bigdata






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 27 '18 at 1:31









      Gaurang Shah

      3,58521537




      3,58521537










      asked Nov 27 '18 at 1:28









      Spark SunSpark Sun

      1




      1
























          1 Answer
          1






          active

          oldest

          votes


















          0














          The query is missing a group by.



          Select 
          a.month,
          a.day,
          sum(a.pv)/count(a.*)
          from (select month,day, remote_addr,count(1) as pv
          from ods_weblog_detail
          group by remote_addr,month,day
          ) a
          group by a.month,a.day


          The query can also be simplified as below.



          select month,day,remote_addr
          ,sum(count(*)) over(partition by month,day,remote_addr)/count(*) over(partition by month,day) as res
          from ods_weblog_detail





          share|improve this answer
























          • thanks, i've solved this proplem~

            – Spark Sun
            Dec 5 '18 at 9:09












          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53491489%2ferror-message-tok-allcolref-is-not-supported-in-current-context-while-using-n%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          0














          The query is missing a group by.



          Select 
          a.month,
          a.day,
          sum(a.pv)/count(a.*)
          from (select month,day, remote_addr,count(1) as pv
          from ods_weblog_detail
          group by remote_addr,month,day
          ) a
          group by a.month,a.day


          The query can also be simplified as below.



          select month,day,remote_addr
          ,sum(count(*)) over(partition by month,day,remote_addr)/count(*) over(partition by month,day) as res
          from ods_weblog_detail





          share|improve this answer
























          • thanks, i've solved this proplem~

            – Spark Sun
            Dec 5 '18 at 9:09
















          0














          The query is missing a group by.



          Select 
          a.month,
          a.day,
          sum(a.pv)/count(a.*)
          from (select month,day, remote_addr,count(1) as pv
          from ods_weblog_detail
          group by remote_addr,month,day
          ) a
          group by a.month,a.day


          The query can also be simplified as below.



          select month,day,remote_addr
          ,sum(count(*)) over(partition by month,day,remote_addr)/count(*) over(partition by month,day) as res
          from ods_weblog_detail





          share|improve this answer
























          • thanks, i've solved this proplem~

            – Spark Sun
            Dec 5 '18 at 9:09














          0












          0








          0







          The query is missing a group by.



          Select 
          a.month,
          a.day,
          sum(a.pv)/count(a.*)
          from (select month,day, remote_addr,count(1) as pv
          from ods_weblog_detail
          group by remote_addr,month,day
          ) a
          group by a.month,a.day


          The query can also be simplified as below.



          select month,day,remote_addr
          ,sum(count(*)) over(partition by month,day,remote_addr)/count(*) over(partition by month,day) as res
          from ods_weblog_detail





          share|improve this answer













          The query is missing a group by.



          Select 
          a.month,
          a.day,
          sum(a.pv)/count(a.*)
          from (select month,day, remote_addr,count(1) as pv
          from ods_weblog_detail
          group by remote_addr,month,day
          ) a
          group by a.month,a.day


          The query can also be simplified as below.



          select month,day,remote_addr
          ,sum(count(*)) over(partition by month,day,remote_addr)/count(*) over(partition by month,day) as res
          from ods_weblog_detail






          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Nov 27 '18 at 11:44









          Vamsi PrabhalaVamsi Prabhala

          41.8k42140




          41.8k42140













          • thanks, i've solved this proplem~

            – Spark Sun
            Dec 5 '18 at 9:09



















          • thanks, i've solved this proplem~

            – Spark Sun
            Dec 5 '18 at 9:09

















          thanks, i've solved this proplem~

          – Spark Sun
          Dec 5 '18 at 9:09





          thanks, i've solved this proplem~

          – Spark Sun
          Dec 5 '18 at 9:09




















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53491489%2ferror-message-tok-allcolref-is-not-supported-in-current-context-while-using-n%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Wiesbaden

          Marschland

          Dieringhausen