~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/r/func_gconcat.result

  • Committer: Monty Taylor
  • Date: 2008-08-04 19:37:18 UTC
  • mto: (261.2.2 codestyle)
  • mto: This revision was merged to the branch mainline in revision 262.
  • Revision ID: monty@inaugust.com-20080804193718-f0rz13uli4429ozb
Changed gettext_noop() to N_()

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
drop table if exists t1, t2;
2
 
create table t1 (grp int, a bigint, c char(10) not null, d char(10) not null);
3
 
insert into t1 values (1,1,"a","a");
4
 
insert into t1 values (2,2,"b","a");
5
 
insert into t1 values (2,3,"c","b");
6
 
insert into t1 values (3,4,"E","a");
7
 
insert into t1 values (3,5,"C","b");
8
 
insert into t1 values (3,6,"D","b");
9
 
insert into t1 values (3,7,"d","d");
10
 
insert into t1 values (3,8,"d","d");
11
 
insert into t1 values (3,9,"D","c");
12
 
select grp,group_concat(c) from t1 group by grp;
13
 
grp     group_concat(c)
14
 
1       a
15
 
2       b,c
16
 
3       E,C,D,d,d,D
17
 
explain extended select grp,group_concat(c) from t1 group by grp;
18
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
19
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    9       100.00  Using filesort
20
 
Warnings:
21
 
Note    1003    select `test`.`t1`.`grp` AS `grp`,group_concat(`test`.`t1`.`c` separator ',') AS `group_concat(c)` from `test`.`t1` group by `test`.`t1`.`grp`
22
 
select grp,group_concat(a,c) from t1 group by grp;
23
 
grp     group_concat(a,c)
24
 
1       1a
25
 
2       2b,3c
26
 
3       4E,5C,6D,7d,8d,9D
27
 
select grp,group_concat("(",a,":",c,")") from t1 group by grp;
28
 
grp     group_concat("(",a,":",c,")")
29
 
1       (1:a)
30
 
2       (2:b),(3:c)
31
 
3       (4:E),(5:C),(6:D),(7:d),(8:d),(9:D)
32
 
select grp,group_concat(c separator ",") from t1 group by grp;
33
 
grp     group_concat(c separator ",")
34
 
1       a
35
 
2       b,c
36
 
3       E,C,D,d,d,D
37
 
select grp,group_concat(c separator "---->") from t1 group by grp;
38
 
grp     group_concat(c separator "---->")
39
 
1       a
40
 
2       b---->c
41
 
3       E---->C---->D---->d---->d---->D
42
 
select grp,group_concat(c order by c) from t1 group by grp;
43
 
grp     group_concat(c order by c)
44
 
1       a
45
 
2       b,c
46
 
3       C,D,d,d,D,E
47
 
select grp,group_concat(c order by c desc) from t1 group by grp;
48
 
grp     group_concat(c order by c desc)
49
 
1       a
50
 
2       c,b
51
 
3       E,D,d,d,D,C
52
 
select grp,group_concat(d order by a) from t1 group by grp;
53
 
grp     group_concat(d order by a)
54
 
1       a
55
 
2       a,b
56
 
3       a,b,b,d,d,c
57
 
select grp,group_concat(d order by a desc) from t1 group by grp;
58
 
grp     group_concat(d order by a desc)
59
 
1       a
60
 
2       b,a
61
 
3       c,d,d,b,b,a
62
 
select grp,group_concat(a order by a,d+c-ascii(c)-a) from t1 group by grp;
63
 
grp     group_concat(a order by a,d+c-ascii(c)-a)
64
 
1       1
65
 
2       2,3
66
 
3       4,5,6,7,8,9
67
 
select grp,group_concat(a order by d+c-ascii(c),a) from t1 group by grp;
68
 
grp     group_concat(a order by d+c-ascii(c),a)
69
 
1       1
70
 
2       3,2
71
 
3       7,8,4,6,9,5
72
 
select grp,group_concat(c order by 1) from t1 group by grp;
73
 
grp     group_concat(c order by 1)
74
 
1       a
75
 
2       b,c
76
 
3       C,D,d,d,D,E
77
 
select grp,group_concat(distinct c order by c) from t1 group by grp;
78
 
grp     group_concat(distinct c order by c)
79
 
1       a
80
 
2       b,c
81
 
3       C,D,E
82
 
select grp,group_concat(distinct c order by c desc) from t1 group by grp;
83
 
grp     group_concat(distinct c order by c desc)
84
 
1       a
85
 
2       c,b
86
 
3       E,D,C
87
 
explain extended select grp,group_concat(distinct c order by c desc) from t1 group by grp;
88
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
89
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    9       100.00  Using filesort
90
 
Warnings:
91
 
Note    1003    select `test`.`t1`.`grp` AS `grp`,group_concat(distinct `test`.`t1`.`c` order by `test`.`t1`.`c` DESC separator ',') AS `group_concat(distinct c order by c desc)` from `test`.`t1` group by `test`.`t1`.`grp`
92
 
select grp,group_concat(c order by c separator ",") from t1 group by grp;
93
 
grp     group_concat(c order by c separator ",")
94
 
1       a
95
 
2       b,c
96
 
3       C,D,d,d,D,E
97
 
select grp,group_concat(c order by c desc separator ",") from t1 group by grp;
98
 
grp     group_concat(c order by c desc separator ",")
99
 
1       a
100
 
2       c,b
101
 
3       E,D,d,d,D,C
102
 
select grp,group_concat(distinct c order by c separator ",") from t1 group by grp;
103
 
grp     group_concat(distinct c order by c separator ",")
104
 
1       a
105
 
2       b,c
106
 
3       C,D,E
107
 
explain extended select grp,group_concat(distinct c order by c separator ",") from t1 group by grp;
108
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    filtered        Extra
109
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    9       100.00  Using filesort
110
 
Warnings:
111
 
Note    1003    select `test`.`t1`.`grp` AS `grp`,group_concat(distinct `test`.`t1`.`c` order by `test`.`t1`.`c` ASC separator ',') AS `group_concat(distinct c order by c separator ",")` from `test`.`t1` group by `test`.`t1`.`grp`
112
 
select grp,group_concat(distinct c order by c desc separator ",") from t1 group by grp;
113
 
grp     group_concat(distinct c order by c desc separator ",")
114
 
1       a
115
 
2       c,b
116
 
3       E,D,C
117
 
select grp,group_concat(c order by grp desc) from t1 group by grp order by grp;
118
 
grp     group_concat(c order by grp desc)
119
 
1       a
120
 
2       c,b
121
 
3       D,d,d,D,C,E
122
 
select grp, group_concat(a separator "")+0 from t1 group by grp;
123
 
grp     group_concat(a separator "")+0
124
 
1       1
125
 
2       23
126
 
3       456789
127
 
select grp, group_concat(a separator "")+0.0 from t1 group by grp;
128
 
grp     group_concat(a separator "")+0.0
129
 
1       1.0
130
 
2       23.0
131
 
3       456789.0
132
 
select grp, ROUND(group_concat(a separator "")) from t1 group by grp;
133
 
grp     ROUND(group_concat(a separator ""))
134
 
1       1
135
 
2       23
136
 
3       456789
137
 
drop table t1;
138
 
create table t1 (grp int, c char(10));
139
 
insert into t1 values (1,NULL),(2,"b"),(2,NULL),(3,"E"),(3,NULL),(3,"D"),(3,NULL),(3,NULL),(3,"D"),(4,""),(5,NULL);
140
 
select grp,group_concat(c order by c) from t1 group by grp;
141
 
grp     group_concat(c order by c)
142
 
1       NULL
143
 
2       b
144
 
3       D,D,E
145
 
4       
146
 
5       NULL
147
 
set group_concat_max_len = 4;
148
 
select grp,group_concat(c) from t1 group by grp;
149
 
grp     group_concat(c)
150
 
1       NULL
151
 
2       b
152
 
3       D,D,
153
 
4       
154
 
5       NULL
155
 
Warnings:
156
 
Warning 1260    1 line(s) were cut by GROUP_CONCAT()
157
 
show warnings;
158
 
Level   Code    Message
159
 
Warning 1260    1 line(s) were cut by GROUP_CONCAT()
160
 
set group_concat_max_len = 1024;
161
 
select group_concat(sum(c)) from t1 group by grp;
162
 
ERROR HY000: Invalid use of group function
163
 
select grp,group_concat(c order by 2) from t1 group by grp;
164
 
ERROR 42S22: Unknown column '2' in 'order clause'
165
 
drop table t1;
166
 
create table t1 ( URL_ID int, URL varchar(80));
167
 
create table t2 ( REQ_ID int, URL_ID int);
168
 
insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
169
 
insert into t2 values (1,4), (5,4), (5,5);
170
 
select REQ_ID, Group_Concat(URL) as URL from t1, t2 where
171
 
t2.URL_ID = t1.URL_ID group by REQ_ID;
172
 
REQ_ID  URL
173
 
1       X
174
 
5       X,X,X
175
 
select REQ_ID, Group_Concat(URL) as URL, Min(t1.URL_ID) urll,
176
 
Max(t1.URL_ID) urlg from t1, t2 where t2.URL_ID = t1.URL_ID group by REQ_ID;
177
 
REQ_ID  URL     urll    urlg
178
 
1       X       4       4
179
 
5       X,X,X   4       5
180
 
drop table t1;
181
 
drop table t2;
182
 
create table t1 (id int, name varchar(16));
183
 
insert into t1 values (1,'longername'),(1,'evenlongername');
184
 
select ifnull(group_concat(concat(t1.id, ':', t1.name)), 'shortname') as 'without distinct: how it should be' from t1;
185
 
without distinct: how it should be
186
 
1:longername,1:evenlongername
187
 
select distinct ifnull(group_concat(concat(t1.id, ':', t1.name)), 'shortname') as 'with distinct: cutoff at length of shortname' from t1;
188
 
with distinct: cutoff at length of shortname
189
 
1:longername,1:evenlongername
190
 
drop table t1;
191
 
create table t1(id int);
192
 
create table t2(id int);
193
 
insert into t1 values(0),(1);
194
 
select group_concat(t1.id) FROM t1,t2;
195
 
group_concat(t1.id)
196
 
NULL
197
 
drop table t1;
198
 
drop table t2;
199
 
create table t1 (bar varchar(32));
200
 
insert into t1 values('test1'),('test2');
201
 
select group_concat(bar order by concat(bar,bar)) from t1;
202
 
group_concat(bar order by concat(bar,bar))
203
 
test1,test2
204
 
select group_concat(bar order by concat(bar,bar) desc) from t1;
205
 
group_concat(bar order by concat(bar,bar) desc)
206
 
test2,test1
207
 
select bar from t1 having group_concat(bar)='';
208
 
bar
209
 
select bar from t1 having instr(group_concat(bar), "test") > 0;
210
 
bar
211
 
test1
212
 
select bar from t1 having instr(group_concat(bar order by concat(bar,bar) desc), "test2,test1") > 0;
213
 
bar
214
 
test1
215
 
drop table t1;
216
 
create table t1 (a int, a1 varchar(10));
217
 
create table t2 (a0 int);
218
 
insert into t1 values (0,"a"),(0,"b"),(1,"c");
219
 
insert into t2 values (1),(2),(3);
220
 
select  group_concat(a1 order by (t1.a IN (select a0 from t2))) from t1;
221
 
group_concat(a1 order by (t1.a IN (select a0 from t2)))
222
 
b,a,c
223
 
select  group_concat(a1 order by (t1.a)) from t1;
224
 
group_concat(a1 order by (t1.a))
225
 
b,a,c
226
 
drop table t1, t2;
227
 
CREATE TABLE t1 (id1 int NOT NULL, id2 int NOT NULL);
228
 
INSERT INTO t1 VALUES (1, 1),(1, 2),(1, 3),(1, 4),(1, 5),(2, 1),(2, 2),(2, 3);
229
 
CREATE TABLE t2 (id1 int NOT NULL);
230
 
INSERT INTO t2 VALUES (1),(2),(3),(4),(5);
231
 
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 AND t1.id1=1 GROUP BY t1.id1;
232
 
id1     concat_id
233
 
1       1,2,3,4,5
234
 
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
235
 
id1     concat_id
236
 
1       1,2,3,4,5
237
 
2       1,2,3
238
 
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 DESC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
239
 
id1     concat_id
240
 
1       5,4,3,2,1
241
 
2       3,2,1
242
 
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY 6-t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
243
 
id1     concat_id
244
 
1       5,4,3,2,1
245
 
2       3,2,1
246
 
SELECT t1.id1, GROUP_CONCAT(t1.id2,6-t1.id2 ORDER BY 6-t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
247
 
id1     concat_id
248
 
1       51,42,33,24,15
249
 
2       33,24,15
250
 
SELECT t1.id1, GROUP_CONCAT(t1.id2,6-t1.id2 ORDER BY 6-t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
251
 
id1     concat_id
252
 
1       51,42,33,24,15
253
 
2       33,24,15
254
 
SELECT t1.id1, GROUP_CONCAT(t1.id2,"/",6-t1.id2 ORDER BY 1+0,6-t1.id2,t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
255
 
id1     concat_id
256
 
1       5/1,4/2,3/3,2/4,1/5
257
 
2       3/3,2/4,1/5
258
 
drop table t1,t2;
259
 
create table t1 (s1 char(10), s2 int not null);
260
 
insert into t1 values ('a',2),('b',2),('c',1),('a',3),('b',4),('c',4);
261
 
select distinct s1 from t1 order by s2,s1;
262
 
s1
263
 
c
264
 
a
265
 
b
266
 
select group_concat(distinct s1) from t1;
267
 
group_concat(distinct s1)
268
 
a,b,c
269
 
select group_concat(distinct s1 order by s2) from t1 where s2 < 4;
270
 
group_concat(distinct s1 order by s2)
271
 
c,b,a
272
 
select group_concat(distinct s1 order by s2) from t1;
273
 
group_concat(distinct s1 order by s2)
274
 
c,b,a
275
 
drop table t1;
276
 
create table t1 (a int, c int);
277
 
insert into t1 values (1, 2), (2, 3), (2, 4), (3, 5);
278
 
create table t2 (a int, c int);
279
 
insert into t2 values (1, 5), (2, 4), (3, 3), (3,3);
280
 
select group_concat(c) from t1;
281
 
group_concat(c)
282
 
2,3,4,5
283
 
select group_concat(c order by (select c from t2 where t2.a=t1.a limit 1)) as grp from t1;
284
 
grp
285
 
5,4,3,2
286
 
select group_concat(c order by (select mid(group_concat(c order by a),1,5) from t2 where t2.a=t1.a)) as grp from t1;
287
 
grp
288
 
5,4,3,2
289
 
select group_concat(c order by (select mid(group_concat(c order by a),1,5) from t2 where t2.a=t1.a) desc) as grp from t1;
290
 
grp
291
 
2,4,3,5
292
 
select t1.a, group_concat(c order by (select c from t2 where t2.a=t1.a limit 1)) as grp from t1 group by 1;
293
 
a       grp
294
 
1       2
295
 
2       4,3
296
 
3       5
297
 
select t1.a, group_concat(c order by (select mid(group_concat(c order by a),1,5) from t2 where t2.a=t1.a)) as grp from t1 group by 1;
298
 
a       grp
299
 
1       2
300
 
2       4,3
301
 
3       5
302
 
select t1.a, group_concat(c order by (select mid(group_concat(c order by a),1,5) from t2 where t2.a=t1.a) desc) as grp from t1 group by 1;
303
 
a       grp
304
 
1       2
305
 
2       4,3
306
 
3       5
307
 
select group_concat(c order by (select concat(5-t1.c,group_concat(c order by a)) from t2 where t2.a=t1.a)) as grp from t1;
308
 
grp
309
 
5,4,3,2
310
 
select group_concat(c order by (select concat(t1.c,group_concat(c)) from t2 where a=t1.a)) as grp from t1;
311
 
grp
312
 
2,3,4,5
313
 
select a,c,(select group_concat(c order by a) from t2 where a=t1.a) as grp from t1 order by grp;
314
 
a       c       grp
315
 
3       5       3,3
316
 
2       3       4
317
 
2       4       4
318
 
1       2       5
319
 
drop table t1,t2;
320
 
CREATE TABLE t1 ( a int );
321
 
CREATE TABLE t2 ( a int );
322
 
INSERT INTO t1 VALUES (1), (2);
323
 
INSERT INTO t2 VALUES (1), (2);
324
 
SELECT GROUP_CONCAT(t1.a*t2.a ORDER BY t2.a) FROM t1, t2 GROUP BY t1.a;
325
 
GROUP_CONCAT(t1.a*t2.a ORDER BY t2.a)
326
 
1,2
327
 
2,4
328
 
DROP TABLE t1, t2;
329
 
CREATE TABLE t1 (a char(4));
330
 
INSERT INTO t1 VALUES ('John'), ('Anna'), ('Bill');
331
 
SELECT GROUP_CONCAT(a SEPARATOR '||') AS names FROM t1 
332
 
HAVING names LIKE '%An%';
333
 
names
334
 
John||Anna||Bill
335
 
SELECT GROUP_CONCAT(a SEPARATOR '###') AS names FROM t1 
336
 
HAVING LEFT(names, 1) ='J';
337
 
names
338
 
John###Anna###Bill
339
 
DROP TABLE t1;
340
 
CREATE TABLE t1 ( a int, b TEXT );
341
 
INSERT INTO t1 VALUES (1,'First Row'), (2,'Second Row');
342
 
SELECT GROUP_CONCAT(b ORDER BY b) FROM t1 GROUP BY a;
343
 
GROUP_CONCAT(b ORDER BY b)
344
 
First Row
345
 
Second Row
346
 
DROP TABLE t1;
347
 
CREATE TABLE t1 (A_ID INT NOT NULL,A_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID));
348
 
INSERT INTO t1 VALUES (1,'ABC'), (2,'EFG'), (3,'HIJ');
349
 
CREATE TABLE t2 (A_ID INT NOT NULL,B_DESC CHAR(3) NOT NULL,PRIMARY KEY (A_ID,B_DESC));
350
 
INSERT INTO t2 VALUES (1,'A'),(1,'B'),(3,'F');
351
 
SELECT t1.A_ID, GROUP_CONCAT(t2.B_DESC) AS B_DESC FROM t1 LEFT JOIN t2 ON t1.A_ID=t2.A_ID GROUP BY t1.A_ID ORDER BY t1.A_DESC;
352
 
A_ID    B_DESC
353
 
1       A,B
354
 
2       NULL
355
 
3       F
356
 
DROP TABLE t1;
357
 
DROP TABLE t2;
358
 
create table t1 (a int, b text);
359
 
insert into t1 values (1, 'bb'), (1, 'ccc'), (1, 'a'), (1, 'bb'), (1, 'ccc');
360
 
insert into t1 values (2, 'BB'), (2, 'CCC'), (2, 'A'), (2, 'BB'), (2, 'CCC');
361
 
select group_concat(b) from t1 group by a;
362
 
group_concat(b)
363
 
bb,ccc,a,bb,ccc
364
 
BB,CCC,A,BB,CCC
365
 
select group_concat(distinct b) from t1 group by a;
366
 
group_concat(distinct b)
367
 
bb,ccc,a
368
 
BB,CCC,A
369
 
select group_concat(b order by b) from t1 group by a;
370
 
group_concat(b order by b)
371
 
a,bb,bb,ccc,ccc
372
 
A,BB,BB,CCC,CCC
373
 
select group_concat(distinct b order by b) from t1 group by a;
374
 
group_concat(distinct b order by b)
375
 
a,bb,ccc
376
 
A,BB,CCC
377
 
set local group_concat_max_len=4;
378
 
select group_concat(b) from t1 group by a;
379
 
group_concat(b)
380
 
bb,c
381
 
BB,C
382
 
Warnings:
383
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
384
 
select group_concat(distinct b) from t1 group by a;
385
 
group_concat(distinct b)
386
 
bb,c
387
 
BB,C
388
 
Warnings:
389
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
390
 
select group_concat(b order by b) from t1 group by a;
391
 
group_concat(b order by b)
392
 
a,bb
393
 
A,BB
394
 
Warnings:
395
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
396
 
select group_concat(distinct b order by b) from t1 group by a;
397
 
group_concat(distinct b order by b)
398
 
a,bb
399
 
A,BB
400
 
Warnings:
401
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
402
 
insert into t1 values (1, concat(repeat('1', 300), '2')), 
403
 
(1, concat(repeat('1', 300), '2')), (1, concat(repeat('0', 300), '1')), 
404
 
(2, concat(repeat('1', 300), '2')), (2, concat(repeat('1', 300), '2')), 
405
 
(2, concat(repeat('0', 300), '1'));
406
 
set local group_concat_max_len=1024;
407
 
select group_concat(b) from t1 group by a;
408
 
group_concat(b)
409
 
bb,ccc,a,bb,ccc,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
410
 
BB,CCC,A,BB,CCC,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
411
 
select group_concat(distinct b) from t1 group by a;
412
 
group_concat(distinct b)
413
 
bb,ccc,a,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
414
 
BB,CCC,A,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001
415
 
select group_concat(b order by b) from t1 group by a;
416
 
group_concat(b order by b)
417
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,a,bb,bb,ccc,ccc
418
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,A,BB,BB,CCC,CCC
419
 
select group_concat(distinct b order by b) from t1 group by a;
420
 
group_concat(distinct b order by b)
421
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,a,bb,ccc
422
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,A,BB,CCC
423
 
set local group_concat_max_len=400;
424
 
select group_concat(b) from t1 group by a;
425
 
group_concat(b)
426
 
bb,ccc,a,bb,ccc,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111
427
 
BB,CCC,A,BB,CCC,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,1111111111111111111111111111111111111111111111111111111111111111111111111111111111
428
 
Warnings:
429
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
430
 
select group_concat(distinct b) from t1 group by a;
431
 
group_concat(distinct b)
432
 
bb,ccc,a,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
433
 
BB,CCC,A,1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111112,00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
434
 
Warnings:
435
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
436
 
select group_concat(b order by b) from t1 group by a;
437
 
group_concat(b order by b)
438
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
439
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
440
 
Warnings:
441
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
442
 
select group_concat(distinct b order by b) from t1 group by a;
443
 
group_concat(distinct b order by b)
444
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
445
 
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001,11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
446
 
Warnings:
447
 
Warning 1260    2 line(s) were cut by GROUP_CONCAT()
448
 
drop table t1;
449
 
create table t1 (a varchar(255), b varchar(255) );
450
 
insert into t1 values ('xxx','yyy');
451
 
select collation(a) from t1;
452
 
collation(a)
453
 
utf8_general_ci
454
 
select collation(group_concat(a)) from t1;
455
 
collation(group_concat(a))
456
 
utf8_general_ci
457
 
create table t2 select group_concat(a) as a from t1;
458
 
show create table t2;
459
 
Table   Create Table
460
 
t2      CREATE TABLE `t2` (
461
 
  `a` varchar(100)
462
 
) ENGINE=InnoDB
463
 
select collation(group_concat(a,b)) from t1;
464
 
collation(group_concat(a,b))
465
 
utf8_general_ci
466
 
drop table t1;
467
 
drop table t2;
468
 
CREATE TABLE t1 (id int);
469
 
SELECT GROUP_CONCAT(id) AS gc FROM t1 HAVING gc IS NULL;
470
 
gc
471
 
NULL
472
 
DROP TABLE t1;
473
 
create table t2 (a int, b int);
474
 
insert into t2 values (1,1), (2,2);
475
 
select  b x, (select group_concat(x) from t2) from  t2;
476
 
x       (select group_concat(x) from t2)
477
 
1       1,1
478
 
2       2,2
479
 
drop table t2;
480
 
create table t1 (d int not null auto_increment,primary key(d), a int, b int, c int);
481
 
insert into t1(a,b) values (1,3), (1,4), (1,2), (2,7), (1,1), (1,2), (2,3), (2,3);
482
 
select d,a,b from t1 order by a;
483
 
d       a       b
484
 
1       1       3
485
 
2       1       4
486
 
3       1       2
487
 
5       1       1
488
 
6       1       2
489
 
4       2       7
490
 
7       2       3
491
 
8       2       3
492
 
explain select a, group_concat(b) from t1 group by a with rollup;
493
 
id      select_type     table   type    possible_keys   key     key_len ref     rows    Extra
494
 
1       SIMPLE  t1      ALL     NULL    NULL    NULL    NULL    8       Using filesort
495
 
select a, group_concat(b) from t1 group by a with rollup;
496
 
a       group_concat(b)
497
 
1       3,4,2,1,2
498
 
2       7,3,3
499
 
NULL    3,4,2,1,2,7,3,3
500
 
select a, group_concat(distinct b) from t1 group by a with rollup;
501
 
a       group_concat(distinct b)
502
 
1       3,4,2,1
503
 
2       7,3
504
 
NULL    3,4,2,1,7
505
 
select a, group_concat(b order by b) from t1 group by a with rollup;
506
 
a       group_concat(b order by b)
507
 
1       1,2,2,3,4
508
 
2       3,3,7
509
 
NULL    1,2,2,3,3,3,4,7
510
 
select a, group_concat(distinct b order by b) from t1 group by a with rollup;
511
 
a       group_concat(distinct b order by b)
512
 
1       1,2,3,4
513
 
2       3,7
514
 
NULL    1,2,3,4,7
515
 
drop table t1;
516
 
create table t1 (a char(3), b char(20), primary key (a, b));
517
 
insert into t1 values ('ABW', 'Dutch'), ('ABW', 'English');
518
 
select group_concat(a) from t1 group by b;
519
 
group_concat(a)
520
 
ABW
521
 
ABW
522
 
drop table t1;
523
 
CREATE TABLE t1 (
524
 
aID int NOT NULL auto_increment,
525
 
sometitle varchar(155) NOT NULL default '',
526
 
bID int NOT NULL,
527
 
PRIMARY KEY  (aID),
528
 
UNIQUE KEY sometitle (sometitle)
529
 
);
530
 
INSERT INTO t1 SET sometitle = 'title1', bID = 1;
531
 
INSERT INTO t1 SET sometitle = 'title2', bID = 1;
532
 
CREATE TABLE t2 (
533
 
bID int NOT NULL auto_increment,
534
 
somename varchar(155) NOT NULL default '',
535
 
PRIMARY KEY  (bID),
536
 
UNIQUE KEY somename (somename)
537
 
);
538
 
INSERT INTO t2 SET somename = 'test';
539
 
SELECT COUNT(*), GROUP_CONCAT(DISTINCT t2.somename SEPARATOR ' |')
540
 
FROM t1 JOIN t2 ON t1.bID = t2.bID;
541
 
COUNT(*)        GROUP_CONCAT(DISTINCT t2.somename SEPARATOR ' |')
542
 
2       test
543
 
INSERT INTO t2 SET somename = 'test2';
544
 
SELECT COUNT(*), GROUP_CONCAT(DISTINCT t2.somename SEPARATOR ' |')
545
 
FROM t1 JOIN t2 ON t1.bID = t2.bID;
546
 
COUNT(*)        GROUP_CONCAT(DISTINCT t2.somename SEPARATOR ' |')
547
 
2       test
548
 
DELETE FROM t2 WHERE somename = 'test2';
549
 
SELECT COUNT(*), GROUP_CONCAT(DISTINCT t2.somename SEPARATOR ' |')
550
 
FROM t1 JOIN t2 ON t1.bID = t2.bID;
551
 
COUNT(*)        GROUP_CONCAT(DISTINCT t2.somename SEPARATOR ' |')
552
 
2       test
553
 
DROP TABLE t1,t2;
554
 
create table t1 ( a int not null default 0);
555
 
select * from (select group_concat(a) from t1) t2;
556
 
group_concat(a)
557
 
NULL
558
 
select group_concat('x') UNION ALL select 1;
559
 
group_concat('x')
560
 
x
561
 
1
562
 
drop table t1;
563
 
CREATE TABLE t1 (id int, a varchar(9));
564
 
INSERT INTO t1 VALUES
565
 
(2, ''), (1, ''), (2, 'x'), (1, 'y'), (3, 'z'), (3, '');
566
 
SELECT GROUP_CONCAT(a) FROM t1;
567
 
GROUP_CONCAT(a)
568
 
,,x,y,z,
569
 
SELECT GROUP_CONCAT(a ORDER BY a) FROM t1;
570
 
GROUP_CONCAT(a ORDER BY a)
571
 
,,,x,y,z
572
 
SELECT GROUP_CONCAT(a) FROM t1 GROUP BY id;
573
 
GROUP_CONCAT(a)
574
 
,y
575
 
,x
576
 
z,
577
 
SELECT GROUP_CONCAT(a ORDER BY a) FROM t1 GROUP BY id;
578
 
GROUP_CONCAT(a ORDER BY a)
579
 
,y
580
 
,x
581
 
,z
582
 
DROP TABLE t1;
583
 
create table t1(f1 int);
584
 
insert into t1 values(1),(2),(3);
585
 
select f1, group_concat(f1+1) from t1 group by f1 with rollup;
586
 
f1      group_concat(f1+1)
587
 
1       2
588
 
2       3
589
 
3       4
590
 
NULL    2,3,4
591
 
select count(distinct (f1+1)) from t1 group by f1 with rollup;
592
 
count(distinct (f1+1))
593
 
1
594
 
1
595
 
1
596
 
3
597
 
drop table t1;
598
 
create table t1 (f1 int, f2 varchar(255));
599
 
insert into t1 values (1,repeat('a',255)),(2,repeat('b',255));
600
 
select f2,group_concat(f1) from t1 group by f2;
601
 
Catalog Database        Table   Table_alias     Column  Column_alias    Type    Length  Max length      Is_null Flags   Decimals        Charsetnr
602
 
def     test    t1      t1      f2      f2      9       1020    255     Y       0       0       45
603
 
def                                     group_concat(f1)        9       400     1       Y       128     0       63
604
 
f2      group_concat(f1)
605
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1
606
 
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 2
607
 
drop table t1;
608
 
create table t1 (a char, b char);
609
 
insert into t1 values ('a', 'a'), ('a', 'b'), ('b', 'a'), ('b', 'b');
610
 
create table t2 select group_concat(b) as a from t1 where a = 'a';
611
 
create table t3 (select group_concat(a) as a from t1 where a = 'a') union
612
 
(select group_concat(b) as a from t1 where a = 'b');
613
 
drop table t1, t2, t3;
614
 
CREATE TABLE t1 (a INT, b LONGTEXT, PRIMARY KEY (a));
615
 
SET GROUP_CONCAT_MAX_LEN = 20000000;
616
 
INSERT INTO t1 VALUES (1,REPEAT(CONCAT('A',CAST(CHAR(0) AS BINARY),'B'), 40000));
617
 
INSERT INTO t1 SELECT a + 1, b FROM t1;
618
 
SELECT a, CHAR_LENGTH(b) FROM t1;
619
 
a       CHAR_LENGTH(b)
620
 
1       120000
621
 
2       120000
622
 
SELECT CHAR_LENGTH( GROUP_CONCAT(b) ) FROM t1;
623
 
CHAR_LENGTH( GROUP_CONCAT(b) )
624
 
240001
625
 
SET GROUP_CONCAT_MAX_LEN = 1024;
626
 
DROP TABLE t1;
627
 
CREATE TABLE t1 (a int, b int);
628
 
INSERT INTO t1 VALUES (2,1), (1,2), (2,2), (1,3);
629
 
SELECT GROUP_CONCAT(a), x 
630
 
FROM (SELECT a, GROUP_CONCAT(b) x FROM t1 GROUP BY a) AS s
631
 
GROUP BY x;
632
 
GROUP_CONCAT(a) x
633
 
2       1,2
634
 
1       2,3
635
 
DROP TABLE t1;
636
 
create table t1
637
 
(
638
 
x text not null,
639
 
y integer not null
640
 
);
641
 
insert into t1 values (repeat('a', 1022), 0), (repeat(_utf8 0xc3b7, 4), 0);
642
 
set group_concat_max_len= 1022 + 10;
643
 
select @x:=group_concat(x) from t1 group by y;
644
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
645
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
646
 
1032    1031    1027    aaaaaaa,÷÷÷÷    C3B7C3B7C3B7
647
 
set group_concat_max_len= 1022 + 9;
648
 
select @x:=group_concat(x) from t1 group by y;
649
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
650
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
651
 
1031    1031    1027    aaaaaaa,÷÷÷÷    C3B7C3B7C3B7
652
 
set group_concat_max_len= 1022 + 8;
653
 
select @x:=group_concat(x) from t1 group by y;
654
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
655
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
656
 
1030    1029    1026    aaaaaaaa,÷÷÷    C3B7C3B7C3B7
657
 
set group_concat_max_len= 1022 + 7;
658
 
select @x:=group_concat(x) from t1 group by y;
659
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
660
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
661
 
1029    1029    1026    aaaaaaaa,÷÷÷    C3B7C3B7C3B7
662
 
set group_concat_max_len= 1022 + 6;
663
 
select @x:=group_concat(x) from t1 group by y;
664
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
665
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
666
 
1028    1027    1025    aaaaaaaaa,÷÷    612CC3B7C3B7
667
 
set group_concat_max_len= 1022 + 5;
668
 
select @x:=group_concat(x) from t1 group by y;
669
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
670
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
671
 
1027    1027    1025    aaaaaaaaa,÷÷    612CC3B7C3B7
672
 
set group_concat_max_len= 1022 + 4;
673
 
select @x:=group_concat(x) from t1 group by y;
674
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
675
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
676
 
1026    1025    1024    aaaaaaaaaa,÷    6161612CC3B7
677
 
set group_concat_max_len= 1022 + 3;
678
 
select @x:=group_concat(x) from t1 group by y;
679
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
680
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
681
 
1025    1025    1024    aaaaaaaaaa,÷    6161612CC3B7
682
 
set group_concat_max_len= 1022 + 2;
683
 
select @x:=group_concat(x) from t1 group by y;
684
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
685
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
686
 
1024    1023    1023    aaaaaaaaaaa,    61616161612C
687
 
set group_concat_max_len= 1022 + 1;
688
 
select @x:=group_concat(x) from t1 group by y;
689
 
select @@group_concat_max_len, length(@x), char_length(@x), right(@x,12), right(HEX(@x),12);
690
 
@@group_concat_max_len  length(@x)      char_length(@x) right(@x,12)    right(HEX(@x),12)
691
 
1023    1023    1023    aaaaaaaaaaa,    61616161612C
692
 
drop table t1;
693
 
set group_concat_max_len=1024;
694
 
create table t1 (f1 int, f2 varchar(255));
695
 
insert into t1 values (1,repeat('a',255)),(2,repeat('b',255));
696
 
select f2,group_concat(f1) from t1 group by f2;
697
 
Catalog Database        Table   Table_alias     Column  Column_alias    Type    Length  Max length      Is_null Flags   Decimals        Charsetnr
698
 
def     test    t1      t1      f2      f2      9       1020    255     Y       0       0       45
699
 
def                                     group_concat(f1)        13      1024    1       Y       128     0       63
700
 
f2      group_concat(f1)
701
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 1
702
 
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 2
703
 
drop table t1;
704
 
CREATE TABLE t1(a TEXT, b CHAR(20));
705
 
INSERT INTO t1 VALUES ("one.1","one.1"),("two.2","two.2"),("one.3","one.3");
706
 
SELECT GROUP_CONCAT(DISTINCT UCASE(a)) FROM t1;
707
 
GROUP_CONCAT(DISTINCT UCASE(a))
708
 
ONE.1,TWO.2,ONE.3
709
 
SELECT GROUP_CONCAT(DISTINCT UCASE(b)) FROM t1;
710
 
GROUP_CONCAT(DISTINCT UCASE(b))
711
 
ONE.1,TWO.2,ONE.3
712
 
DROP TABLE t1;
713
 
CREATE TABLE t1( a VARCHAR( 10 ), b INT );
714
 
INSERT INTO t1 VALUES ( repeat( 'a', 10 ), 1), 
715
 
( repeat( 'b', 10 ), 2);
716
 
SET group_concat_max_len = 20;
717
 
SELECT GROUP_CONCAT( a ) FROM t1;
718
 
GROUP_CONCAT( a )
719
 
aaaaaaaaaa,bbbbbbbbb
720
 
Warnings:
721
 
Warning 1260    1 line(s) were cut by GROUP_CONCAT()
722
 
SELECT GROUP_CONCAT( DISTINCT a ) FROM t1;
723
 
GROUP_CONCAT( DISTINCT a )
724
 
aaaaaaaaaa,bbbbbbbbb
725
 
Warnings:
726
 
Warning 1260    1 line(s) were cut by GROUP_CONCAT()
727
 
SELECT GROUP_CONCAT( a ORDER BY b ) FROM t1;
728
 
GROUP_CONCAT( a ORDER BY b )
729
 
aaaaaaaaaa,bbbbbbbbb
730
 
Warnings:
731
 
Warning 1260    1 line(s) were cut by GROUP_CONCAT()
732
 
SELECT GROUP_CONCAT( DISTINCT a ORDER BY b ) FROM t1;
733
 
GROUP_CONCAT( DISTINCT a ORDER BY b )
734
 
aaaaaaaaaa,bbbbbbbbb
735
 
Warnings:
736
 
Warning 1260    1 line(s) were cut by GROUP_CONCAT()
737
 
SET group_concat_max_len = DEFAULT;
738
 
DROP TABLE t1;
739
 
SET group_concat_max_len= 65535;
740
 
CREATE TABLE t1( a TEXT, b INTEGER );
741
 
INSERT INTO t1 VALUES ( 'a', 0 ), ( 'b', 1 );
742
 
SELECT GROUP_CONCAT( a ORDER BY b ) FROM t1;
743
 
GROUP_CONCAT( a ORDER BY b )
744
 
a,b
745
 
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
746
 
GROUP_CONCAT(DISTINCT a ORDER BY b)
747
 
a,b
748
 
SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
749
 
GROUP_CONCAT(DISTINCT a)
750
 
a,b
751
 
SET group_concat_max_len= 10;
752
 
SELECT GROUP_CONCAT(a ORDER BY b) FROM t1;
753
 
GROUP_CONCAT(a ORDER BY b)
754
 
a,b
755
 
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
756
 
GROUP_CONCAT(DISTINCT a ORDER BY b)
757
 
a,b
758
 
SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
759
 
GROUP_CONCAT(DISTINCT a)
760
 
a,b
761
 
SET group_concat_max_len= 65535;
762
 
CREATE TABLE t2( a TEXT );
763
 
INSERT INTO t2 VALUES( REPEAT( 'a', 5000 ) );
764
 
INSERT INTO t2 VALUES( REPEAT( 'b', 5000 ) );
765
 
INSERT INTO t2 VALUES( REPEAT( 'a', 5000 ) );
766
 
SELECT LENGTH( GROUP_CONCAT( DISTINCT a ) ) FROM t2;
767
 
LENGTH( GROUP_CONCAT( DISTINCT a ) )
768
 
10001
769
 
CREATE TABLE t3( a TEXT, b INT  );
770
 
INSERT INTO t3 VALUES( REPEAT( 'a', 65534 ), 1 );
771
 
INSERT INTO t3 VALUES( REPEAT( 'a', 65535 ), 2 );
772
 
INSERT INTO t3 VALUES( REPEAT( 'a', 65533 ), 3 );
773
 
SELECT LENGTH( GROUP_CONCAT( a ) ) FROM t3 WHERE b = 1;
774
 
LENGTH( GROUP_CONCAT( a ) )
775
 
65534
776
 
SELECT LENGTH( GROUP_CONCAT( a ) ) FROM t3 WHERE b = 2;
777
 
LENGTH( GROUP_CONCAT( a ) )
778
 
65535
779
 
SELECT LENGTH( GROUP_CONCAT( a ) ) FROM t3 WHERE b = 3;
780
 
LENGTH( GROUP_CONCAT( a ) )
781
 
65533
782
 
SET group_concat_max_len= DEFAULT;
783
 
DROP TABLE t1, t2, t3;
784
 
create table t1 (f1 char(20));
785
 
insert into t1 values (''),('');
786
 
select group_concat(distinct f1) from t1;
787
 
group_concat(distinct f1)
788
 
 
789
 
select group_concat(f1) from t1;
790
 
group_concat(f1)
791
 
,
792
 
drop table t1;
793
 
CREATE TABLE t1 (a INT, b INT);
794
 
INSERT INTO t1 VALUES (1, 1), (2, 2), (2, 3);
795
 
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b) FROM t1;
796
 
GROUP_CONCAT(DISTINCT a ORDER BY b)
797
 
1,2
798
 
SELECT GROUP_CONCAT(DISTINCT a ORDER BY b DESC) FROM t1;
799
 
GROUP_CONCAT(DISTINCT a ORDER BY b DESC)
800
 
2,1
801
 
SELECT GROUP_CONCAT(DISTINCT a) FROM t1;
802
 
GROUP_CONCAT(DISTINCT a)
803
 
1,2
804
 
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b) FROM t1;
805
 
GROUP_CONCAT(DISTINCT a + 1 ORDER BY 3 - b)
806
 
3,2
807
 
SELECT GROUP_CONCAT(DISTINCT a + 1 ORDER BY b) FROM t1;
808
 
GROUP_CONCAT(DISTINCT a + 1 ORDER BY b)
809
 
2,3
810
 
SELECT GROUP_CONCAT(a ORDER BY 3 - b) FROM t1;
811
 
GROUP_CONCAT(a ORDER BY 3 - b)
812
 
2,2,1
813
 
CREATE TABLE t2 (a INT, b INT, c INT, d INT);
814
 
INSERT INTO t2 VALUES (1,1, 1,1), (1,1, 2,2), (1,2, 2,1), (2,1, 1,2);
815
 
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, d) FROM t2;
816
 
GROUP_CONCAT(DISTINCT a, b ORDER BY c, d)
817
 
11,21,12
818
 
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY d, c) FROM t2;
819
 
GROUP_CONCAT(DISTINCT a, b ORDER BY d, c)
820
 
11,12,21
821
 
CREATE TABLE t3 (a INT, b INT, c INT);
822
 
INSERT INTO t3 VALUES (1, 1, 1), (2, 1, 2), (3, 2, 1);
823
 
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, c) FROM t3;
824
 
GROUP_CONCAT(DISTINCT a, b ORDER BY b, c)
825
 
11,21,32
826
 
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY c, b) FROM t3;
827
 
GROUP_CONCAT(DISTINCT a, b ORDER BY c, b)
828
 
11,32,21
829
 
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a, b) FROM t1;
830
 
GROUP_CONCAT(DISTINCT a, b ORDER BY a, b)
831
 
11,22,23
832
 
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
833
 
GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
834
 
11,22,32
835
 
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY b, a) FROM t1;
836
 
GROUP_CONCAT(DISTINCT a, b ORDER BY b, a)
837
 
11,22,23
838
 
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY a, b) FROM t1;
839
 
GROUP_CONCAT(DISTINCT b, a ORDER BY a, b)
840
 
11,22,32
841
 
SELECT GROUP_CONCAT(DISTINCT a ORDER BY a, b) FROM t1;
842
 
GROUP_CONCAT(DISTINCT a ORDER BY a, b)
843
 
1,2
844
 
SELECT GROUP_CONCAT(DISTINCT b ORDER BY b, a) FROM t1;
845
 
GROUP_CONCAT(DISTINCT b ORDER BY b, a)
846
 
1,2,3
847
 
SELECT GROUP_CONCAT(DISTINCT a, b ORDER BY a) FROM t1;
848
 
GROUP_CONCAT(DISTINCT a, b ORDER BY a)
849
 
11,23,22
850
 
SELECT GROUP_CONCAT(DISTINCT b, a ORDER BY b) FROM t1;
851
 
GROUP_CONCAT(DISTINCT b, a ORDER BY b)
852
 
11,22,32
853
 
DROP TABLE t1, t2, t3;
854
 
CREATE TABLE t1(a INT);
855
 
INSERT INTO t1 VALUES (),();
856
 
SELECT s1.d1 FROM
857
 
(
858
 
SELECT
859
 
t1.a as d1,
860
 
GROUP_CONCAT(DISTINCT t1.a) AS d2
861
 
FROM
862
 
t1 AS t1,
863
 
t1 AS t2
864
 
GROUP BY 1
865
 
) AS s1;
866
 
d1
867
 
NULL
868
 
DROP TABLE t1;
869
 
End of 5.0 tests