回答編集履歴
2
質問内容の訂正に合わせてコード修正
    
        answer	
    CHANGED
    
    | @@ -1,5 +1,7 @@ | |
| 1 | 
            +
            companyが"A" で、value が Null でないYearが最大のレコードを抽出
         | 
| 2 | 
            +
             | 
| 1 3 | 
             
            ```SQL
         | 
| 2 | 
            -
            SELECT  | 
| 4 | 
            +
            SELECT table_a.*
         | 
| 3 5 | 
             
            FROM table_a
         | 
| 4 6 | 
             
            WHERE 
         | 
| 5 7 | 
             
            company="A" AND
         | 
| @@ -7,4 +9,19 @@ | |
| 7 9 | 
             
            year = (SELECT Max(Year)
         | 
| 8 10 | 
             
            FROM table_a
         | 
| 9 11 | 
             
            WHERE value Is Not Null AND company="A");
         | 
| 10 | 
            -
            ```
         | 
| 12 | 
            +
            ```
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            company毎に、value が Null でないYearが最大のレコードを抽出
         | 
| 15 | 
            +
             | 
| 16 | 
            +
            ```SQL
         | 
| 17 | 
            +
            SELECT a.*
         | 
| 18 | 
            +
            FROM
         | 
| 19 | 
            +
            table_a AS a INNER JOIN
         | 
| 20 | 
            +
            (SELECT company, Max(Year) AS maxYear
         | 
| 21 | 
            +
             FROM table_a
         | 
| 22 | 
            +
             WHERE value Is Not Null
         | 
| 23 | 
            +
             GROUP BY company)  AS b 
         | 
| 24 | 
            +
             ON a.company = b.company AND a.year = b.maxYear
         | 
| 25 | 
            +
             WHERE a.value Is Not Null;
         | 
| 26 | 
            +
            ```
         | 
| 27 | 
            +
             | 
1
コードの間違い訂正
    
        answer	
    CHANGED
    
    | @@ -2,8 +2,9 @@ | |
| 2 2 | 
             
            SELECT id
         | 
| 3 3 | 
             
            FROM table_a
         | 
| 4 4 | 
             
            WHERE 
         | 
| 5 | 
            +
            company="A" AND
         | 
| 5 6 | 
             
            value is not null AND
         | 
| 6 | 
            -
            year = (SELECT Max( | 
| 7 | 
            +
            year = (SELECT Max(Year)
         | 
| 7 | 
            -
            FROM table_a | 
| 8 | 
            +
            FROM table_a
         | 
| 8 | 
            -
            WHERE  | 
| 9 | 
            +
            WHERE value Is Not Null AND company="A");
         | 
| 9 10 | 
             
            ```
         | 
