sql >> データベース >  >> RDS >> Mysql

あるテーブルから別のテーブルへのMysqlForeachパート2

    条件付き集計を探しているようです:

    select 
        u.user_id,
        u.username,
        min(case when a.action = 'IN' then a.dateTime end) `in`,
        max(case when a.action = 'OUT' then a.dateTime end) `out`
    from 
        user u
        inner join user_attendance a on u.user_id = a.user_id
    group by
        u.user_id,
        u.username,
        date(a.dateTime)
    order by
        u.user_id,
        date(a.dateTime)
    

    DBフィドルのデモ

    | user_id | username | in                  | out                 |
    | ------- | -------- | ------------------- | ------------------- |
    | 1       | tiger    | 2019-10-01 08:00:00 | 2019-10-01 14:00:00 |
    | 1       | tiger    | 2019-10-02 08:00:00 | 2019-10-02 14:00:00 |
    | 2       | pooh     | 2019-10-01 08:00:00 | 2019-10-01 14:00:00 |
    | 2       | pooh     | 2019-10-02 08:00:00 | 2019-10-02 14:00:00 |
    


    1. pycharmIDEでdjangoとmysqlを設定する必要があります

    2. MySQLのMIN()とLEAST():違いは何ですか?

    3. mysqlではテーブルの順序は重要ですか?

    4. 書き込み可能な共通テーブル式と複数の挿入ステートメント