質問編集履歴
11
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# 質問
|
2
2
|
|
3
|
-
りんご2個以上
|
3
|
+
「りんご2個以上」かつ「バナナ2個以上」を持っているユーザIDを取得したいです。
|
4
4
|
|
5
5
|
|
6
6
|
|
10
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
※追記
|
152
152
|
|
153
|
-
以下SQL004でも期待する結果が取れて少しSQLが綺麗になったかと思いましたがりんごが1個、バナナが3個(またはそれ以外の4個以上のパターン)でも結果が0件にならないのでダメでした。
|
153
|
+
以下SQL004でも期待する結果が取れて少しSQLが綺麗になったかと思いましたがりんごが1個、バナナが3個(またはそれ以外の合計が4個以上のパターン)でも結果が0件にならないのでダメでした。
|
154
154
|
|
155
155
|
```
|
156
156
|
|
9
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# 質問
|
2
2
|
|
3
|
-
りんご2個、バナナ2個を持っているユーザIDを取得したいです。
|
3
|
+
りんご2個以上、バナナ2個以上を持っているユーザIDを取得したいです。
|
4
4
|
|
5
5
|
|
6
6
|
|
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
以下SQL001は結果が0件です。
|
66
66
|
|
67
|
-
りんごが2個のwhere条件で既に結果にバナナが含まれていない為、2つめのバナナに関するwhere条件を満たせず0件になったと思われます。
|
67
|
+
りんごが2個以上のwhere条件で既に結果にバナナが含まれていない為、2つめのバナナに関するwhere条件を満たせず0件になったと思われます。
|
68
68
|
|
69
69
|
|
70
70
|
|
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
※追記
|
152
152
|
|
153
|
-
以下SQL004でも期待する結果が取れて少しSQLが綺麗になったかと思いましたがりんごが1個、バナナが3個でも結果が0件にならないのでダメでした。
|
153
|
+
以下SQL004でも期待する結果が取れて少しSQLが綺麗になったかと思いましたがりんごが1個、バナナが3個(またはそれ以外の4個以上のパターン)でも結果が0件にならないのでダメでした。
|
154
154
|
|
155
155
|
```
|
156
156
|
|
@@ -172,7 +172,7 @@
|
|
172
172
|
|
173
173
|
having
|
174
174
|
|
175
|
-
sum(i.num) = 4
|
175
|
+
sum(i.num) >= 4
|
176
176
|
|
177
177
|
```
|
178
178
|
|
8
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -150,7 +150,7 @@
|
|
150
150
|
|
151
151
|
※追記
|
152
152
|
|
153
|
-
以下SQL004でも期待する結果が取れて少しSQLが
|
153
|
+
以下SQL004でも期待する結果が取れて少しSQLが綺麗になったかと思いましたがりんごが1個、バナナが3個でも結果が0件にならないのでダメでした。
|
154
154
|
|
155
155
|
```
|
156
156
|
|
7
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -148,6 +148,36 @@
|
|
148
148
|
|
149
149
|
|
150
150
|
|
151
|
+
※追記
|
152
|
+
|
153
|
+
以下SQL004でも期待する結果が取れて少しSQLがきれいになったかと思いましたがりんごが1個、バナナが3個でも一致していました。
|
154
|
+
|
155
|
+
```
|
156
|
+
|
157
|
+
/* SQL004 */
|
158
|
+
|
159
|
+
select
|
160
|
+
|
161
|
+
i.user_id
|
162
|
+
|
163
|
+
from items i
|
164
|
+
|
165
|
+
where
|
166
|
+
|
167
|
+
(i.name = 'りんご') or (i.name = 'バナナ')
|
168
|
+
|
169
|
+
group by
|
170
|
+
|
171
|
+
i.user_id
|
172
|
+
|
173
|
+
having
|
174
|
+
|
175
|
+
sum(i.num) = 4
|
176
|
+
|
177
|
+
```
|
178
|
+
|
179
|
+
|
180
|
+
|
151
181
|
# 環境
|
152
182
|
|
153
183
|
- MariaDB 10.5.9
|
6
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
`num` INT(11) UNSIGNED NOT NULL,
|
28
28
|
|
29
|
-
INDEX `
|
29
|
+
INDEX `name` (`name`) USING BTREE
|
30
30
|
|
31
31
|
)
|
32
32
|
|
5
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
`num` INT(11) UNSIGNED NOT NULL,
|
28
28
|
|
29
|
-
INDEX `
|
29
|
+
INDEX `user_id` (`name`) USING BTREE
|
30
30
|
|
31
31
|
)
|
32
32
|
|
4
タグ追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|
3
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -74,7 +74,7 @@
|
|
74
74
|
|
75
75
|
select
|
76
76
|
|
77
|
-
|
77
|
+
i.user_id
|
78
78
|
|
79
79
|
from items i
|
80
80
|
|
@@ -98,7 +98,7 @@
|
|
98
98
|
|
99
99
|
select
|
100
100
|
|
101
|
-
|
101
|
+
i.user_id
|
102
102
|
|
103
103
|
from items i
|
104
104
|
|
@@ -130,7 +130,7 @@
|
|
130
130
|
|
131
131
|
select
|
132
132
|
|
133
|
-
|
133
|
+
i.user_id
|
134
134
|
|
135
135
|
from items i
|
136
136
|
|
2
環境追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -145,3 +145,9 @@
|
|
145
145
|
|
146
146
|
|
147
147
|
今回のようなケースではどのようなSQLが最適でしょうか?
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
# 環境
|
152
|
+
|
153
|
+
- MariaDB 10.5.9
|
1
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,7 +64,7 @@
|
|
64
64
|
|
65
65
|
以下SQL001は結果が0件です。
|
66
66
|
|
67
|
-
りんごが2
|
67
|
+
りんごが2個のwhere条件で既に結果にバナナが含まれていない為、2つめのバナナに関するwhere条件を満たせず0件になったと思われます。
|
68
68
|
|
69
69
|
|
70
70
|
|