0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

GROUP BYでまとめたデータを全件表示する最善手法

0
Last updated at Posted at 2018-11-11

GROUPCONCATを使って複数行のカラムを一つにまとめた時の全文表示方法

mysqlで登録ユーザーの趣味の情報をセレクトしてくる際に、一人が多くの趣味を登録していたため一度に情報を引っ張ってこれませんでした。
つまりGROUP BYするとユーザー、一人につき一つの趣味しか表示することができない...
言葉ではうまく伝えられないのでuserテーブルの構造を載せます

1541941121607.jpg

上記を見ると、ユーザーID35番の人は2,7,14,21の趣味を持っている(2はお酒、7は野球観戦などと決めている)

しかしユーザーID35番でGROUP BYするとすべてまとまってしまい2(お酒)しか取り出すことができない
理想は2/7/14/21と表示されることです...

ここでGROUPCONCAT

db_function.php
$SQL = "SELECT GROUP_CONCAT(carevery_id separator '/') FROM user where user_id = '35' GROUP BY user_id"

上記のように書くと2/7/14/21と取り出すことができます

またseparatorの後ろ('/')の部分を変えることで区切り文字を変更することも可能です
はっきり言ってめちゃくちゃ便利なので皆さん是非とも活用してください。

以上です。
少しでもお役に立てれば幸いです。
何か間違っている部分等御座いましたら、ご意見よろしくお願いします!

0
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
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?