一度、こちらで回答いただいた内容なのですが追加で質問させていただきます。
mysql 勤務データ 日付またぎのID抽出

以下のように15分ごとにIDが表示されるようになりました。
画像の説明をここに入力

①この15分ごとに表示されたIDを以下のようにUSER_NAMEごとにまとめたい。
画像の説明をここに入力

②USER_NAMEごとにまとめた後にSTART_TIME順に並び替えたい。

①についてはエクセルのPIVOTなどで値を最大値にすれば表示させることもできますが、SQL上で最大のIDを表示させたい。
②についてはMIN(START_TIME)と入れてもうまくでてきません。(1行のみのデータが表示されてしまう)
①②をSQL上で表示させることは可能なのでしょうか。。

元データ
SELECT distinct
        県コード,
        市コード,
       USER_NAME,
       ID,
       case when (DATE_FORMAT(CONVERT_TZ(END_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') > '00:00' and (DATE_FORMAT(CONVERT_TZ(START_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') <'00:15')) then SCHEDULE_INTERVAL_TYPE_ID end as '00:00',
            case when (DATE_FORMAT(CONVERT_TZ(END_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') > '00:15' and (DATE_FORMAT(CONVERT_TZ(START_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') <'00:30')) then SCHEDULE_INTERVAL_TYPE_ID end as '00:15',
case when (
    (DATE_FORMAT(CONVERT_TZ(END_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') > '00:00'
     OR
     DATE_FORMAT(CONVERT_TZ(END_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') = '00:00'
     )
     and
     DATE_FORMAT(CONVERT_TZ(START_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') <'00:15')
     ) then SCHEDULE_INTERVAL_TYPE_ID end as '00:00',
/* 途中省略 */
case when (
    (DATE_FORMAT(CONVERT_TZ(END_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') > '23:45'
     OR
     DATE_FORMAT(CONVERT_TZ(END_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') = '00:00'
    )
    and
    DATE_FORMAT(CONVERT_TZ(START_TIME, '+00:00','Asia/Tokyo') ,'%H:%i') < '23:59')
    ) then SCHEDULE_INTERVAL_TYPE_ID end as '23:45'
FROM テーブル1
WHERE 
    DATE_FORMAT(CONVERT_TZ(START_TIME, '+00:00','Asia/Tokyo') ,'%Y%m%d') = DATE_FORMAT(CONVERT_TZ(CURRENT_TIMESTAMP, '+00:00','Asia/Tokyo') ,'%Y%m%d');