32875


**下記リンク先内容で、さらに条件を追記したいのですが**  
・下記では「同一グループの中から最大レコードを取得」していますが、ここからさらに「日付単位で」という条件を追記した場合のSQLはどう書けば良いでしょうか？

**やりたいこと**  
・同じ日付の同一グループの中から最大レコードを取得  
・日付が異なれば別  
※日付単位で同一グループの最大レコードを取得したい

[同一グループの中で最大のレコードを取得する SQL](http://labs.timedia.co.jp/2014/10/selecting-max-
record-in-group-by.html)


CC BY-SA 3.0
2017-02-20T14:49:48.713
32817
2017-02-22T13:49:42.533
2017-02-20T16:14:19.590
76
7886
question
mysql
日付単位で、同一グループの中で最大レコードを取得する SQL


「発送を転換」したバージョンで、AND 条件を追加するだけかと思います。

以下では、`value` カラムを追加して、  
`group_id` と `updated_at` でグルーピングし、`value` が最大のレコードを出力しています。

[code]

    create table sample_table (
      id integer not null,
      group_id integer not null,
      updated_at date not null,
      value integer not null,
      comment string not null
    );
    
    insert into sample_table values ( 1, 1, '2017-01-01', 100, 'A');
    insert into sample_table values ( 2, 1, '2017-01-01', 110, 'B');
    insert into sample_table values ( 3, 1, '2017-01-02', 120, 'C');
    insert into sample_table values ( 4, 2, '2017-01-02', 130, 'D');
    insert into sample_table values ( 5, 2, '2017-01-02', 140, 'E');
    
    select *
    FROM sample_table AS m
    WHERE NOT EXISTS (
        SELECT 1
        FROM sample_table AS s
        WHERE m.group_id = s.group_id
        AND m.updated_at = s.updated_at
        AND m.value < s.value
    );
    
[/code]

結果:

[code]

    2|1|2017-01-01|110|B
    3|1|2017-01-02|120|C
    5|2|2017-01-02|140|E
    
[/code]

手元に mysql がなくて sqlite でやりましたが、同じだと思います。


CC BY-SA 3.0
2017-02-22T13:49:42.533
32875
2017-02-22T13:49:42.533
5288
32817
answer