LoginSignup
1
1

More than 1 year has passed since last update.

GROPU BYする時のGROUP_CONCATの使い方

Posted at

記事を書くきっかけ

会社の仕事で調べて便利だったので(知らなかった)
あとアウトプットが大事って聞いた

group_concat

GROUP_CONCAT

使い方

今回の仕事で使ったデータをマスクして使用します
genba_hatureiテーブル

id shain_no name genba date_from date_to
1 10001 Aさん ビル建築 2019-04-01 2020-03-31
2 10002 Bさん 家屋建築 2020-02-01 2020-11-31
3 10003 Cさん 橋建設 2020-04-01 null
4 10001 Aさん 家屋解体 2020-04-01 2020-04-30
5 10002 Bさん アパート建築 2020-12-01 null
6 10001 Aさん 整地 2020-05-01 null

欲しいデータの返却値は以下

shain_no name genba
10001 Aさん 2019-04-01 ~ 2020-03-31 : ビル建築
2020-04-01 ~ 2020-04-30 : 家屋解体
2020-05-01 ~ : 整地
10002 Bさん 2020-02-01 ~ 2020-11-31 : 家屋建築
2020-12-01 ~ : アパート建築
10003 Cさん 2020-04-01 ~ : 橋建設

書いたSQLが以下

SELECT
      shain_no
    , name
    , group_concat( 
        date_from
        , " ~ "
        , date_to
        , " : "
        , genba separator "\r\n"
    ) as genba
FROM
    genba_haturei 
GROUP BY
    shain_no

記事を書いてみて

最初は現場名だけまとめられれば御の字くらいに思ってましたけど、カンマ区切りで追加できるのが便利で一発でかけてしまった。
今後も便利だなと感じたら記事にしてみようかと思います。備忘録も兼ねて。

参考サイト

https://techblog.recochoku.jp/5346
https://dev.mysql.com/doc/refman/5.6/ja/group-by-functions.html#function_group-concat

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1