質問編集履歴
10
訂正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
n件以上ある記事を持つタグを取得する(MySQL)
|
test
CHANGED
File without changes
|
9
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,11 +4,7 @@
|
|
4
4
|
|
5
5
|
記事とタグのテーブルがあります
|
6
6
|
|
7
|
-
タグを
|
7
|
+
「記事は3件以上」という条件をクリアして、タグを取得したいです
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
ただし「取得される記事は3件以上」あってほしいです
|
12
8
|
|
13
9
|
|
14
10
|
|
@@ -158,7 +154,7 @@
|
|
158
154
|
|
159
155
|
そして実現したいことのために書いたのはこちらのコードです
|
160
156
|
|
161
|
-
「
|
157
|
+
「記事は3件以上」という条件を
|
162
158
|
|
163
159
|
「HAVING ((Count(*))>=3)」で表現しているつもりです
|
164
160
|
|
@@ -204,7 +200,7 @@
|
|
204
200
|
|
205
201
|
tag_ID=4を持つのは3件
|
206
202
|
|
207
|
-
他は「
|
203
|
+
他は「記事は3件以上」に合致しないので取得されず、レコードは次の3件としたいです
|
208
204
|
|
209
205
|
|tags_ID|そのタグを持つcontents_IDの件数
|
210
206
|
|
8
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
```sql
|
26
26
|
|
27
|
-
-- 記事
|
27
|
+
-- 記事
|
28
28
|
|
29
29
|
CREATE TABLE contents
|
30
30
|
|
@@ -82,7 +82,7 @@
|
|
82
82
|
|
83
83
|
|
84
84
|
|
85
|
-
-- タグ
|
85
|
+
-- タグ
|
86
86
|
|
87
87
|
CREATE TABLE tags
|
88
88
|
|
7
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -86,32 +86,30 @@
|
|
86
86
|
|
87
87
|
CREATE TABLE tags
|
88
88
|
|
89
|
-
(`ID` int, `tag_name` varchar(100)
|
89
|
+
(`ID` int, `tag_name` varchar(100))
|
90
90
|
|
91
91
|
;
|
92
92
|
|
93
93
|
INSERT INTO tags
|
94
94
|
|
95
|
-
(`ID`, `tag_name`
|
95
|
+
(`ID`, `tag_name`)
|
96
96
|
|
97
97
|
VALUES
|
98
98
|
|
99
|
-
(1, 'タグ1'
|
99
|
+
(1, 'タグ1'),
|
100
|
-
|
100
|
+
|
101
|
-
(2, 'タグ2'
|
101
|
+
(2, 'タグ2'),
|
102
|
-
|
102
|
+
|
103
|
-
(3, 'タグ3'
|
103
|
+
(3, 'タグ3'),
|
104
|
-
|
104
|
+
|
105
|
-
(3, 'タグ4'
|
105
|
+
(3, 'タグ4'),
|
106
|
-
|
106
|
+
|
107
|
-
(3, 'タグ5'
|
107
|
+
(3, 'タグ5'),
|
108
|
-
|
108
|
+
|
109
|
-
(3, 'タグ6'
|
109
|
+
(3, 'タグ6')
|
110
110
|
|
111
111
|
;
|
112
112
|
|
113
|
-
|
114
|
-
|
115
113
|
-- タグリレーション
|
116
114
|
|
117
115
|
CREATE TABLE tag_relations
|
6
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -96,17 +96,17 @@
|
|
96
96
|
|
97
97
|
VALUES
|
98
98
|
|
99
|
-
(1, '
|
99
|
+
(1, 'タグ1', 1),
|
100
|
-
|
100
|
+
|
101
|
-
(2, '
|
101
|
+
(2, 'タグ2', 2),
|
102
|
-
|
102
|
+
|
103
|
-
(3, '
|
103
|
+
(3, 'タグ3', 3),
|
104
|
-
|
104
|
+
|
105
|
-
(3, '
|
105
|
+
(3, 'タグ4', 4),
|
106
|
-
|
106
|
+
|
107
|
-
(3, '
|
107
|
+
(3, 'タグ5', 5),
|
108
|
-
|
108
|
+
|
109
|
-
(3, '
|
109
|
+
(3, 'タグ6', 6)
|
110
110
|
|
111
111
|
;
|
112
112
|
|
5
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -204,7 +204,7 @@
|
|
204
204
|
|
205
205
|
tag_ID=2を持つのは3件
|
206
206
|
|
207
|
-
tag_I
|
207
|
+
tag_ID=4を持つのは3件
|
208
208
|
|
209
209
|
他は「取得される記事は3件以上」に合致しないので取得されず、レコードは次の3件としたいです
|
210
210
|
|
4
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -200,7 +200,13 @@
|
|
200
200
|
|
201
201
|
目的はこのような値です
|
202
202
|
|
203
|
+
tag_ID=1を持つのは4件
|
204
|
+
|
205
|
+
tag_ID=2を持つのは3件
|
206
|
+
|
207
|
+
tag_Id=4を持つのは3件
|
208
|
+
|
203
|
-
|
209
|
+
他は「取得される記事は3件以上」に合致しないので取得されず、レコードは次の3件としたいです
|
204
210
|
|
205
211
|
|tags_ID|そのタグを持つcontents_IDの件数
|
206
212
|
|
@@ -209,3 +215,5 @@
|
|
209
215
|
|1|4|
|
210
216
|
|
211
217
|
|2|3|
|
218
|
+
|
219
|
+
|4|3|
|
3
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -148,7 +148,7 @@
|
|
148
148
|
|
149
149
|
# contents_ID=9が、tag_ID=2とtag_ID=4を持っている
|
150
150
|
|
151
|
-
(
|
151
|
+
(2, 1, 1, 9), (4, 1, 1, 9),
|
152
152
|
|
153
153
|
# contents_ID=10が、tag_ID=2とtag_ID=4とtag_ID=6を持っている
|
154
154
|
|
@@ -208,4 +208,4 @@
|
|
208
208
|
|
209
209
|
|1|4|
|
210
210
|
|
211
|
-
|2|
|
211
|
+
|2|3|
|
2
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -132,7 +132,7 @@
|
|
132
132
|
|
133
133
|
# contents_ID=2が、tag_ID=1を持っている
|
134
134
|
|
135
|
-
(
|
135
|
+
(1, 1, 1, 2),
|
136
136
|
|
137
137
|
# contents_ID=4が、tag_ID=1とtag_ID=3とtag_ID=4を持っている
|
138
138
|
|
@@ -192,8 +192,6 @@
|
|
192
192
|
|
193
193
|
|1|3|
|
194
194
|
|
195
|
-
|1|3|
|
196
|
-
|
197
195
|
|2|3|
|
198
196
|
|
199
197
|
|
1
訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
|
9
9
|
|
10
10
|
|
11
|
-
ただし
|
11
|
+
ただし「取得される記事は3件以上」あってほしいです
|
12
12
|
|
13
13
|
|
14
14
|
|
@@ -160,7 +160,7 @@
|
|
160
160
|
|
161
161
|
そして実現したいことのために書いたのはこちらのコードです
|
162
162
|
|
163
|
-
「記事は
|
163
|
+
「取得される記事は3件以上」という条件を
|
164
164
|
|
165
165
|
「HAVING ((Count(*))>=3)」で表現しているつもりです
|
166
166
|
|
@@ -202,7 +202,7 @@
|
|
202
202
|
|
203
203
|
目的はこのような値です
|
204
204
|
|
205
|
-
tag_ID=1を持つのは4件で、tag_ID=2を持つのは3件で、他は「記事は
|
205
|
+
tag_ID=1を持つのは4件で、tag_ID=2を持つのは3件で、他は「取得される記事は3件以上」に合致しないので取得されず、レコードは次の2件としたいです
|
206
206
|
|
207
207
|
|tags_ID|そのタグを持つcontents_IDの件数
|
208
208
|
|