質問編集履歴
8
分かり易く変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -14,34 +14,34 @@
|
|
14
14
|
+----+-------------+
|
15
15
|
|
16
16
|
chat_messaテーブルのデータ
|
17
|
-
+---------+-------------+
|
17
|
+
+---------+-------------------------+
|
18
|
-
| chat_id |
|
18
|
+
| chat_id | updated_date |
|
19
|
-
+---------+-------------+
|
19
|
+
+---------+-------------------------+
|
20
|
-
| 1 | 2016-07-26 |
|
21
|
-
| 1 |
|
20
|
+
| 1 | 2016-07-24 11:44:27 |
|
21
|
+
| 1 | 2016-07-24 19:42:42 |
|
22
|
-
| 2 |
|
22
|
+
| 2 | 2016-07-25 10:27:37 |
|
23
|
-
| 2 |
|
23
|
+
| 2 | 2016-07-29 13:45:59 |
|
24
|
+
| 3 | 2016-07-27 00:13:33 |
|
24
|
-
| 3 |
|
25
|
+
| 3 | 2016-07-29 08:13:13 |
|
25
|
-
| 3 | 2016-07-31 |
|
26
|
-
+---------+-------------+
|
26
|
+
+---------+-------------------------+
|
27
27
|
|
28
28
|
結合後のデータでは、下記のように取得したいのですが、
|
29
|
-
+----+-------------+---------+-------------+
|
29
|
+
+----+-------------+---------+-------------------------+
|
30
|
-
| id | messa | chat_id |
|
30
|
+
| id | messa | chat_id | updated_date |
|
31
|
-
+----+-------------+---------+-------------+
|
31
|
+
+----+-------------+---------+-------------------------+
|
32
|
-
| 3 | さようなら | 3 |
|
32
|
+
| 3 | さようなら | 3 | 2016-07-29 08:13:13 |
|
33
|
-
| 2 | こんばんは | 2 |
|
33
|
+
| 2 | こんばんは | 2 | 2016-07-29 13:45:59 |
|
34
|
-
| 1 | こんにちは | 1 |
|
34
|
+
| 1 | こんにちは | 1 | 2016-07-24 19:42:42 |
|
35
|
-
+----+-------------+---------+-------------+
|
35
|
+
+----+-------------+---------+-------------------------+
|
36
36
|
|
37
37
|
order byとgroup byを併用すると、下記のようになってしまします。
|
38
|
-
+----+-------------+---------+-------------+
|
38
|
+
+----+-------------+---------+-------------------------+
|
39
|
-
| id | messa | chat_id |
|
39
|
+
| id | messa | chat_id | updated_date |
|
40
|
-
+----+-------------+---------+-------------+
|
40
|
+
+----+-------------+---------+-------------------------+
|
41
|
-
| 3 | さようなら | 3 |
|
41
|
+
| 3 | さようなら | 3 | 2016-07-27 00:13:33 |
|
42
|
-
| 2 | こんばんは | 2 |
|
42
|
+
| 2 | こんばんは | 2 | 2016-07-25 10:27:37 |
|
43
|
-
| 1 | こんにちは | 1 |
|
43
|
+
| 1 | こんにちは | 1 | 2016-07-24 11:44:27 |
|
44
|
-
+----+-------------+---------+-------------+
|
44
|
+
+----+-------------+---------+-------------------------+
|
45
45
|
|
46
46
|
###発生している問題
|
47
47
|
```
|
7
分かり易く変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -17,17 +17,20 @@
|
|
17
17
|
+---------+-------------+
|
18
18
|
| chat_id | updated_date|
|
19
19
|
+---------+-------------+
|
20
|
+
| 1 | 2016-07-26 |
|
20
21
|
| 1 | 2016-07-27 |
|
21
22
|
| 2 | 2016-07-28 |
|
23
|
+
| 2 | 2016-07-30 |
|
22
24
|
| 3 | 2016-07-29 |
|
25
|
+
| 3 | 2016-07-31 |
|
23
26
|
+---------+-------------+
|
24
27
|
|
25
28
|
結合後のデータでは、下記のように取得したいのですが、
|
26
29
|
+----+-------------+---------+-------------+
|
27
30
|
| id | messa | chat_id | updated_date|
|
28
31
|
+----+-------------+---------+-------------+
|
29
|
-
| 3 | さようなら | 3 | 2016-07-
|
32
|
+
| 3 | さようなら | 3 | 2016-07-31 |
|
30
|
-
| 2 | こんばんは | 2 | 2016-07-
|
33
|
+
| 2 | こんばんは | 2 | 2016-07-30 |
|
31
34
|
| 1 | こんにちは | 1 | 2016-07-27 |
|
32
35
|
+----+-------------+---------+-------------+
|
33
36
|
|
@@ -35,9 +38,9 @@
|
|
35
38
|
+----+-------------+---------+-------------+
|
36
39
|
| id | messa | chat_id | updated_date|
|
37
40
|
+----+-------------+---------+-------------+
|
38
|
-
|
|
41
|
+
| 3 | さようなら | 3 | 2016-07-29 |
|
39
42
|
| 2 | こんばんは | 2 | 2016-07-28 |
|
40
|
-
|
|
43
|
+
| 1 | こんにちは | 1 | 2016-07-26 |
|
41
44
|
+----+-------------+---------+-------------+
|
42
45
|
|
43
46
|
###発生している問題
|
6
分かり易く変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
chatテーブルのデータ
|
8
8
|
+----+-------------+
|
9
|
-
| id
|
9
|
+
| id | messa |
|
10
10
|
+----+-------------+
|
11
11
|
| 1 | こんにちは |
|
12
12
|
| 2 | こんばんは |
|
5
分かり易く変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
|
7
7
|
chatテーブルのデータ
|
8
8
|
+----+-------------+
|
9
|
-
| id
|
9
|
+
| id | messa |
|
10
10
|
+----+-------------+
|
11
11
|
| 1 | こんにちは |
|
12
12
|
| 2 | こんばんは |
|
4
分かり易く変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -22,7 +22,7 @@
|
|
22
22
|
| 3 | 2016-07-29 |
|
23
23
|
+---------+-------------+
|
24
24
|
|
25
|
-
結合後のデータ
|
25
|
+
結合後のデータでは、下記のように取得したいのですが、
|
26
26
|
+----+-------------+---------+-------------+
|
27
27
|
| id | messa | chat_id | updated_date|
|
28
28
|
+----+-------------+---------+-------------+
|
@@ -31,6 +31,15 @@
|
|
31
31
|
| 1 | こんにちは | 1 | 2016-07-27 |
|
32
32
|
+----+-------------+---------+-------------+
|
33
33
|
|
34
|
+
order byとgroup byを併用すると、下記のようになってしまします。
|
35
|
+
+----+-------------+---------+-------------+
|
36
|
+
| id | messa | chat_id | updated_date|
|
37
|
+
+----+-------------+---------+-------------+
|
38
|
+
| 1 | こんにちは | 1 | 2016-07-27 |
|
39
|
+
| 2 | こんばんは | 2 | 2016-07-28 |
|
40
|
+
| 3 | さようなら | 3 | 2016-07-29 |
|
41
|
+
+----+-------------+---------+-------------+
|
42
|
+
|
34
43
|
###発生している問題
|
35
44
|
```
|
36
45
|
order byとgroup byを併用する時には、サブクエリを使えば良いのはわかったのですが、テーブルの内部結合をした場合にはどう書いたらいいのかわからずに困っています。
|
3
分かり易く変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -4,6 +4,33 @@
|
|
4
4
|
テーブルは、「chat」「chat_messa」と言うテーブルを作りました。
|
5
5
|
「chat」の「id」と「chat_messa」の 「chat_id」で結合しました。
|
6
6
|
|
7
|
+
chatテーブルのデータ
|
8
|
+
+----+-------------+
|
9
|
+
| id | messa |
|
10
|
+
+----+-------------+
|
11
|
+
| 1 | こんにちは |
|
12
|
+
| 2 | こんばんは |
|
13
|
+
| 3 | さようなら |
|
14
|
+
+----+-------------+
|
15
|
+
|
16
|
+
chat_messaテーブルのデータ
|
17
|
+
+---------+-------------+
|
18
|
+
| chat_id | updated_date|
|
19
|
+
+---------+-------------+
|
20
|
+
| 1 | 2016-07-27 |
|
21
|
+
| 2 | 2016-07-28 |
|
22
|
+
| 3 | 2016-07-29 |
|
23
|
+
+---------+-------------+
|
24
|
+
|
25
|
+
結合後のデータ
|
26
|
+
+----+-------------+---------+-------------+
|
27
|
+
| id | messa | chat_id | updated_date|
|
28
|
+
+----+-------------+---------+-------------+
|
29
|
+
| 3 | さようなら | 3 | 2016-07-29 |
|
30
|
+
| 2 | こんばんは | 2 | 2016-07-28 |
|
31
|
+
| 1 | こんにちは | 1 | 2016-07-27 |
|
32
|
+
+----+-------------+---------+-------------+
|
33
|
+
|
7
34
|
###発生している問題
|
8
35
|
```
|
9
36
|
order byとgroup byを併用する時には、サブクエリを使えば良いのはわかったのですが、テーブルの内部結合をした場合にはどう書いたらいいのかわからずに困っています。
|
2
分かり易く変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
###該当のソースコード
|
13
13
|
```mysql
|
14
14
|
テーブルの内部結合なしなら、これで出来ました。
|
15
|
-
select * from (select * from chat_messa order by updated_date desc)
|
15
|
+
select * from (select * from chat_messa order by updated_date desc) as subquery group by chat_id order by id desc
|
16
16
|
|
17
17
|
テーブルの内部結合をした場合が分かりません。
|
18
18
|
|
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
###試したこと
|
22
22
|
テーブルの内部結合なしなら、これで出来ました。
|
23
|
-
select * from (select * from chat_messa order by updated_date desc)
|
23
|
+
select * from (select * from chat_messa order by updated_date desc) as subquery group by chat_id order by id desc
|
24
24
|
|
25
25
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
26
26
|
mysql5.5
|
1
分かり易いように変更
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
###前提・実現したいこと
|
2
|
-
mysqlで
|
2
|
+
mysqlで内部結合をし、order byとgroup byを併用する時の書き方が知りたいです。
|
3
3
|
|
4
4
|
テーブルは、「chat」「chat_messa」と言うテーブルを作りました。
|
5
5
|
「chat」の「id」と「chat_messa」の 「chat_id」で結合しました。
|