teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

文章の修正

2016/04/05 10:48

投稿

noripi
noripi

スコア34

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,6 @@
1
- MySQL5.5の商品データベース(ここでは product_jans )から、各商品コードの最新の価格情報を取得して、そこから最安値と最高値、さらにそのproduct_name_id、その価格差を取得したいです。
1
+ MySQL5.5の商品データベース(ここでは product_jans )から、各商品コード(product_name_id)の最新の価格情報を取得して、そこから最安値と最高値、さらにそのproduct_name_id、その価格差を取得したいです。
2
+ また、新品価格・中古価格・コレクター価格それぞれで出力したいです。
3
+
2
4
  下記のSQLによって結果01までは取得できたのですが、ここから結果02にするにはこのSQLをどのように変えればいいでしょうか。できれば外部結合で行いたいです。
3
5
 
4
6
  それとも、そもそも不可能なのでしょうか。
@@ -35,20 +37,20 @@
35
37
 
36
38
  《結果02》
37
39
  +-----------------+---------------+-----------------------+---------------------+---------------------+-----------+-----------+------------+---------------------+---------------------+
38
- | id | jan | price_type | max_product_name_id | min_product_name_id | price_max | price_min | price_diff | created | modified |
40
+ | id | jan | price_type | max_product_name_id | min_product_name_id | price_max | price_min | price_diff |
39
41
  +-----------------+---------------+-----------------------+---------------------+---------------------+-----------+-----------+------------+---------------------+---------------------+
40
- | 454199302211302 | 4541993022113 | 中古価格 | 13039 | 0 | 8888 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:26:39 |
42
+ | 454199302211302 | 4541993022113 | 中古価格 | 13039 | 0 | 8888 | 0 | 0 |
41
- | 978009191269701 | 9780091912697 | 新品価格 | 10787 | 0 | 1530 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:27:36 |
43
+ | 978009191269701 | 9780091912697 | 新品価格 | 10787 | 0 | 1530 | 0 | 0 |
42
- | 978009191269702 | 9780091912697 | 中古価格 | 10787 | 0 | 765 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:27:36 |
44
+ | 978009191269702 | 9780091912697 | 中古価格 | 10787 | 0 | 765 | 0 | 0 |
43
- | 978159402460302 | 9781594024603 | 中古価格 | 16694 | 0 | 700 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:28:06 |
45
+ | 978159402460302 | 9781594024603 | 中古価格 | 16694 | 0 | 700 | 0 | 0 |
44
- | 978400005679301 | 9784000056793 | 新品価格 | 20493 | 0 | 2052 | 0 | 0 | 2016-04-05 12:27:30 | 2016-04-05 12:27:30 |
46
+ | 978400005679301 | 9784000056793 | 新品価格 | 20493 | 0 | 2052 | 0 | 0 |
45
- | 978400005679302 | 9784000056793 | 中古価格 | 18547 | 20493 | 198 | 88 | 110 | 2016-04-05 12:27:30 | 2016-04-05 12:27:30 |
47
+ | 978400005679302 | 9784000056793 | 中古価格 | 18547 | 20493 | 198 | 88 | 110 |
46
- | 978400005679303 | 9784000056793 | コレクター価格 | 20493 | 0 | 643 | 0 | 0 | 2016-04-05 12:27:30 | 2016-04-05 12:27:30 |
48
+ | 978400005679303 | 9784000056793 | コレクター価格 | 20493 | 0 | 643 | 0 | 0 |
47
- | 978400022578601 | 9784000225786 | 新品価格 | 16846 | 0 | 2484 | 0 | 0 | 2016-04-04 15:06:08 | 2016-04-05 12:28:03 |
49
+ | 978400022578601 | 9784000225786 | 新品価格 | 16846 | 0 | 2484 | 0 | 0 |
48
- | 978400022578602 | 9784000225786 | 中古価格 | 16846 | 8556 | 997 | 748 | 249 | 2016-04-04 15:06:08 | 2016-04-05 12:28:03 |
50
+ | 978400022578602 | 9784000225786 | 中古価格 | 16846 | 8556 | 997 | 748 | 249 |
49
- | 978400023687401 | 9784000236874 | 新品価格 | 20025 | 0 | 2808 | 0 | 0 | 2016-04-05 12:27:22 | 2016-04-05 12:27:22 |
51
+ | 978400023687401 | 9784000236874 | 新品価格 | 20025 | 0 | 2808 | 0 | 0 |
50
- | 978400023687402 | 9784000236874 | 中古価格 | 20025 | 18096 | 1502 | 1150 | 352 | 2016-04-05 12:27:22 | 2016-04-05 12:27:22 |
52
+ | 978400023687402 | 9784000236874 | 中古価格 | 20025 | 18096 | 1502 | 1150 | 352 |
51
- | 978400024005501 | 9784000240055 | 新品価格 | 8902 | 0 | 2052 | 0 | 0 | 2016-04-04 15:05:59 | 2016-04-05 12:27:52 |
53
+ | 978400024005501 | 9784000240055 | 新品価格 | 8902 | 0 | 2052 | 0 | 0 |
52
- | 978400024005502 | 9784000240055 | 中古価格 | 8902 | 7188 | 584 | 498 | 86 | 2016-04-04 15:05:59 | 2016-04-05 12:27:52 |
54
+ | 978400024005502 | 9784000240055 | 中古価格 | 8902 | 7188 | 584 | 498 | 86 |
53
- | 978400024005503 | 9784000240055 | コレクター価格 | 8902 | 0 | 1000 | 0 | 0 | 2016-04-04 15:05:59 | 2016-04-05 12:27:52 |
55
+ | 978400024005503 | 9784000240055 | コレクター価格 | 8902 | 0 | 1000 | 0 | 0 |
54
- | 978400025295902 | 9784000252959 | 中古価格 | 15694 | 7418 | 499 | 498 | 1 | 2016-04-04 15:06:01 | 2016-04-05
56
+ | 978400025295902 | 9784000252959 | 中古価格 | 15694 | 7418 | 499 | 498 | 1 |

2

コード修正

2016/04/05 10:48

投稿

noripi
noripi

スコア34

title CHANGED
File without changes
body CHANGED
@@ -1,23 +1,54 @@
1
- MySQL5.5の商品データベース(ここでは product )から、商品コードの state が new のもので 各shop_id の最新の価格情報を取得して、そこから最安値と最高値のショップIDと、その価格差を取得したいです。
1
+ MySQL5.5の商品データベース(ここでは product_jans )から、商品コードの最新の価格情報を取得して、そこから最安値と最高値、さらにそproduct_name_id、その価格差を取得したいです。
2
2
  下記のSQLによって結果01までは取得できたのですが、ここから結果02にするにはこのSQLをどのように変えればいいでしょうか。できれば外部結合で行いたいです。
3
3
 
4
4
  それとも、そもそも不可能なのでしょうか。
5
5
 
6
6
  ```SQL
7
- SELECT t1.* FROM product AS t1 LEFT JOIN product AS t2 ON (t1.product_code = t2.product_code AND t1.modified < t2.modified) WHERE t2.modified IS NULL AND t1.head = "new"
7
+ SELECT data.* FROM product_jans AS data LEFT OUTER JOIN product_jans AS jan ON data.product_name_id = jan.product_name_id AND data.modified < jan.modified WHERE jan.modified IS NULL ORDER BY jan;
8
8
  ```
9
9
  《結果01》
10
+ +--------+-----------------+---------------+-----------------------+------+------------------+---------------------+---------------------+
10
- id| product_code | price | shop_id | state | modified |
11
+ | id | product_name_id | jan | head | data | shop_id | created | modified |
12
+ +--------+-----------------+---------------+-----------------------+------+------------------+---------------------+---------------------+
11
- 1| 1 | 100 | 001 | new | 2016-03-30 14:00|
13
+ | 209210 | 13039 | 4541993022113 | 中古価格 | 8888 | 1 | 2016-03-30 22:51:59 | 2016-03-30 22:51:59 |
12
- 2| 1 | 500 | 016 | new | 2016-04-01 10:00|
14
+ | 368052 | 10787 | 9780091912697 | 新品価格 | 1530 | 1 | 2016-04-05 07:11:04 | 2016-04-05 07:11:04 |
13
- 3| 1 | 300 | 015 | new | 2016-03-31 16:00|
15
+ | 368053 | 10787 | 9780091912697 | 中古価格 | 765 | 1 | 2016-04-05 07:11:04 | 2016-04-05 07:11:04 |
14
- 4| 2 | 200 | 001 | new | 2016-03-30 14:00|
16
+ | 458270 | 16694 | 9781594024603 | 中古価格 | 700 | 1 | 2016-04-05 12:21:42 | 2016-04-05 12:21:42 |
17
+ | 355781 | 18547 | 9784000056793 | 中古価格 | 198 | 15 | 2016-04-05 01:44:43 | 2016-04-05 01:44:43 |
18
+ | 426540 | 20493 | 9784000056793 | 新品価格 | 2052 | 1 | 2016-04-05 07:38:02 | 2016-04-05 07:38:02 |
19
+ | 426541 | 20493 | 9784000056793 | 中古価格 | 88 | 1 | 2016-04-05 07:38:02 | 2016-04-05 07:38:02 |
20
+ | 426542 | 20493 | 9784000056793 | コレクター価格 | 643 | 1 | 2016-04-05 07:38:02 | 2016-04-05 07:38:02 |
15
- 5| 2 | 250 | 016 | new | 2016-04-01 10:00|
21
+ | 454038 | 8556 | 9784000225786 | 中古価格 | 748 | 22 | 2016-04-05 10:50:43 | 2016-04-05 10:50:43 |
22
+ | 458684 | 16846 | 9784000225786 | 新品価格 | 2484 | 1 | 2016-04-05 12:22:34 | 2016-04-05 12:22:34 |
23
+ | 458685 | 16846 | 9784000225786 | 中古価格 | 997 | 1 | 2016-04-05 12:22:34 | 2016-04-05 12:22:34 |
24
+ | 350238 | 18096 | 9784000236874 | 中古価格 | 1150 | 15 | 2016-04-05 01:42:55 | 2016-04-05 01:42:55 |
25
+ | 411784 | 20025 | 9784000236874 | 新品価格 | 2808 | 1 | 2016-04-05 07:36:35 | 2016-04-05 07:36:35 |
26
+ | 411785 | 20025 | 9784000236874 | 中古価格 | 1502 | 1 | 2016-04-05 07:36:35 | 2016-04-05 07:36:35 |
27
+ | 450664 | 7188 | 9784000240055 | 中古価格 | 498 | 22 | 2016-04-05 10:46:23 | 2016-04-05 10:46:23 |
28
+ | 454883 | 8902 | 9784000240055 | 新品価格 | 2052 | 1 | 2016-04-05 12:14:47 | 2016-04-05 12:14:47 |
29
+ | 454884 | 8902 | 9784000240055 | 中古価格 | 584 | 1 | 2016-04-05 12:14:47 | 2016-04-05 12:14:47 |
30
+ | 454885 | 8902 | 9784000240055 | コレクター価格 | 1000 | 1 | 2016-04-05 12:14:47 | 2016-04-05 12:14:47 |
31
+ | 451346 | 7418 | 9784000252959 | 中古価格 | 498 | 22 | 2016-04-05 10:47:08 | 2016-04-05 10:47:08 |
16
- 6| 2 | 600 | 015 | new | 2016-03-31 16:00|
32
+ | 455628 | 15694 | 9784000252959 | 中古価格 | 499 | 1 | 2016-04-05 12:16:09 | 2016-04-05 12:16:09 |
17
33
 
18
34
  ↓↓↓
19
35
 
20
36
  《結果02》
37
+ +-----------------+---------------+-----------------------+---------------------+---------------------+-----------+-----------+------------+---------------------+---------------------+
21
- id| product_id | max_shop_id | min_shop_id | price_diff |
38
+ | id | jan | price_type | max_product_name_id | min_product_name_id | price_max | price_min | price_diff | created | modified |
39
+ +-----------------+---------------+-----------------------+---------------------+---------------------+-----------+-----------+------------+---------------------+---------------------+
40
+ | 454199302211302 | 4541993022113 | 中古価格 | 13039 | 0 | 8888 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:26:39 |
41
+ | 978009191269701 | 9780091912697 | 新品価格 | 10787 | 0 | 1530 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:27:36 |
42
+ | 978009191269702 | 9780091912697 | 中古価格 | 10787 | 0 | 765 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:27:36 |
22
- 1| 1 | 016 | 001 | 400 |
43
+ | 978159402460302 | 9781594024603 | 中古価格 | 16694 | 0 | 700 | 0 | 0 | 2016-04-04 15:06:11 | 2016-04-05 12:28:06 |
44
+ | 978400005679301 | 9784000056793 | 新品価格 | 20493 | 0 | 2052 | 0 | 0 | 2016-04-05 12:27:30 | 2016-04-05 12:27:30 |
45
+ | 978400005679302 | 9784000056793 | 中古価格 | 18547 | 20493 | 198 | 88 | 110 | 2016-04-05 12:27:30 | 2016-04-05 12:27:30 |
46
+ | 978400005679303 | 9784000056793 | コレクター価格 | 20493 | 0 | 643 | 0 | 0 | 2016-04-05 12:27:30 | 2016-04-05 12:27:30 |
47
+ | 978400022578601 | 9784000225786 | 新品価格 | 16846 | 0 | 2484 | 0 | 0 | 2016-04-04 15:06:08 | 2016-04-05 12:28:03 |
48
+ | 978400022578602 | 9784000225786 | 中古価格 | 16846 | 8556 | 997 | 748 | 249 | 2016-04-04 15:06:08 | 2016-04-05 12:28:03 |
49
+ | 978400023687401 | 9784000236874 | 新品価格 | 20025 | 0 | 2808 | 0 | 0 | 2016-04-05 12:27:22 | 2016-04-05 12:27:22 |
50
+ | 978400023687402 | 9784000236874 | 中古価格 | 20025 | 18096 | 1502 | 1150 | 352 | 2016-04-05 12:27:22 | 2016-04-05 12:27:22 |
51
+ | 978400024005501 | 9784000240055 | 新品価格 | 8902 | 0 | 2052 | 0 | 0 | 2016-04-04 15:05:59 | 2016-04-05 12:27:52 |
52
+ | 978400024005502 | 9784000240055 | 中古価格 | 8902 | 7188 | 584 | 498 | 86 | 2016-04-04 15:05:59 | 2016-04-05 12:27:52 |
53
+ | 978400024005503 | 9784000240055 | コレクター価格 | 8902 | 0 | 1000 | 0 | 0 | 2016-04-04 15:05:59 | 2016-04-05 12:27:52 |
23
- 2| 2 | 015 | 001 | 400 |
54
+ | 978400025295902 | 9784000252959 | 中古価格 | 15694 | 7418 | 499 | 498 | 1 | 2016-04-04 15:06:01 | 2016-04-05

1

結果01を修正しました。

2016/04/05 06:44

投稿

noripi
noripi

スコア34

title CHANGED
File without changes
body CHANGED
@@ -7,17 +7,17 @@
7
7
  SELECT t1.* FROM product AS t1 LEFT JOIN product AS t2 ON (t1.product_code = t2.product_code AND t1.modified < t2.modified) WHERE t2.modified IS NULL AND t1.head = "new"
8
8
  ```
9
9
  《結果01》
10
- | product_code | price | shop_id | state | modified |
10
+ id| product_code | price | shop_id | state | modified |
11
- | 1 | 100 | 001 | new | 2016-03-30 14:00|
11
+ 1| 1 | 100 | 001 | new | 2016-03-30 14:00|
12
- | 1 | 500 | 016 | new | 2016-04-01 10:00|
12
+ 2| 1 | 500 | 016 | new | 2016-04-01 10:00|
13
- | 1 | 300 | 015 | new | 2016-03-31 16:00|
13
+ 3| 1 | 300 | 015 | new | 2016-03-31 16:00|
14
- | 2 | 200 | 001 | new | 2016-03-30 14:00|
14
+ 4| 2 | 200 | 001 | new | 2016-03-30 14:00|
15
- | 2 | 250 | 016 | new | 2016-04-01 10:00|
15
+ 5| 2 | 250 | 016 | new | 2016-04-01 10:00|
16
- | 2 | 600 | 015 | new | 2016-03-31 16:00|
16
+ 6| 2 | 600 | 015 | new | 2016-03-31 16:00|
17
17
 
18
18
  ↓↓↓
19
19
 
20
20
  《結果02》
21
- | product_id | max_shop_id | min_shop_id | price_diff |
21
+ id| product_id | max_shop_id | min_shop_id | price_diff |
22
- | 1 | 016 | 001 | 400 |
22
+ 1| 1 | 016 | 001 | 400 |
23
- | 2 | 015 | 001 | 400 |
23
+ 2| 2 | 015 | 001 | 400 |