0

この Oracle クエリの正しい定式化に関するヘルプは大歓迎です。

 WITH 
    anaq1 as 
        ( SELECT 
              POPULATION, 
              YEAR, 
              COUNTRY_OR_AREA 
              FROM POPULATIONS2 
              WHERE 
                 country_or_area = 'France' OR 
                 country_or_area = 'Brazil' 
         ) 
        select 
            COUNTRY_OR_AREA , 
            COUNT(*) AS OCCURANCES  
            from anaq1  
         ORDER BY COUNT(*) DESC 
4

1 に答える 1

2

GROUP BY句がありません:

 WITH 
    anaq1 as 
    ( SELECT 
          POPULATION, 
          YEAR, 
          COUNTRY_OR_AREA 
          FROM POPULATIONS2 
          WHERE 
             country_or_area = 'France' OR 
             country_or_area = 'Brazil' 
     ) 
    select 
        COUNTRY_OR_AREA , 
        COUNT(*) AS OCCURANCES  
        from anaq1  
        GROUP BY COUNTRY_OR_AREA
        ORDER BY COUNT(*) DESC 

全体を単純化できます。

SELECT COUNTRY_OR_AREA, COUNT(*) AS OCCURANCES  
   FROM POPULATIONS2  
   WHERE country_or_area in ('France', 'Brazil')
   GROUP BY COUNTRY_OR_AREA
   ORDER BY COUNT(*) DESC 

これは、populations2 テーブルに国または地域のレコードが表示される回数をカウントしています。

于 2013-07-04T16:21:21.837 に答える