###前提・実現したいこと
mysqlで内部結合をし、order byとgroup byを併用する時の書き方が知りたいです。
テーブルは、「chat」「chat_messa」と言うテーブルを作りました。
「chat」の「id」と「chat_messa」の 「chat_id」で結合しました。
chatテーブルのデータ
+----+-------------+
| id | messa |
+----+-------------+
| 1 | こんにちは |
| 2 | こんばんは |
| 3 | さようなら |
+----+-------------+
chat_messaテーブルのデータ
+---------+-------------------------+
| chat_id | updated_date |
+---------+-------------------------+
| 1 | 2016-07-24 11:44:27 |
| 1 | 2016-07-24 19:42:42 |
| 2 | 2016-07-25 10:27:37 |
| 2 | 2016-07-29 13:45:59 |
| 3 | 2016-07-27 00:13:33 |
| 3 | 2016-07-29 08:13:13 |
+---------+-------------------------+
結合後のデータでは、下記のように取得したいのですが、
+----+-------------+---------+-------------------------+
| id | messa | chat_id | updated_date |
+----+-------------+---------+-------------------------+
| 3 | さようなら | 3 | 2016-07-29 08:13:13 |
| 2 | こんばんは | 2 | 2016-07-29 13:45:59 |
| 1 | こんにちは | 1 | 2016-07-24 19:42:42 |
+----+-------------+---------+-------------------------+
order byとgroup byを併用すると、下記のようになってしまします。
+----+-------------+---------+-------------------------+
| id | messa | chat_id | updated_date |
+----+-------------+---------+-------------------------+
| 3 | さようなら | 3 | 2016-07-27 00:13:33 |
| 2 | こんばんは | 2 | 2016-07-25 10:27:37 |
| 1 | こんにちは | 1 | 2016-07-24 11:44:27 |
+----+-------------+---------+-------------------------+
###発生している問題
order byとgroup byを併用する時には、サブクエリを使えば良いのはわかったのですが、テーブルの内部結合をした場合にはどう書いたらいいのかわからずに困っています。
###該当のソースコード
mysql
1テーブルの内部結合なしなら、これで出来ました。 2select * from (select * from chat_messa order by updated_date desc) as subquery group by chat_id order by id desc 3 4テーブルの内部結合をした場合が分かりません。 5
###試したこと
テーブルの内部結合なしなら、これで出来ました。
select * from (select * from chat_messa order by updated_date desc) as subquery group by chat_id order by id desc
###補足情報(言語/FW/ツール等のバージョンなど)
mysql5.5

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/29 20:36 編集