72
--error ER_INVALID_GROUP_FUNC_USE
73
73
select group_concat(sum(c)) from t1 group by grp;
74
--error ER_BAD_FIELD_ERROR
75
75
select grp,group_concat(c order by 2) from t1 group by grp;
79
79
# Test variable length
81
create table t1 ( URL_ID int, URL varchar(80));
82
create table t2 ( REQ_ID int, URL_ID int);
81
create table t1 ( URL_ID int(11), URL varchar(80));
82
create table t2 ( REQ_ID int(11), URL_ID int(11));
83
83
insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
84
84
insert into t2 values (1,4), (5,4), (5,5);
85
85
# Make this order independent
131
131
# Problem with GROUP BY (Bug #2695)
134
CREATE TABLE t1 (id1 int NOT NULL, id2 int NOT NULL);
134
CREATE TABLE t1 (id1 int(4) NOT NULL, id2 int(4) NOT NULL);
135
135
INSERT INTO t1 VALUES (1, 1),(1, 2),(1, 3),(1, 4),(1, 5),(2, 1),(2, 2),(2, 3);
136
CREATE TABLE t2 (id1 int NOT NULL);
136
CREATE TABLE t2 (id1 int(4) NOT NULL);
137
137
INSERT INTO t2 VALUES (1),(2),(3),(4),(5);
138
138
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;
139
139
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;
270
create table t1 (a varchar(255), b varchar(255) );
270
create table t1 (a varchar(255) character set cp1250 collate cp1250_general_ci,
271
b varchar(255) character set koi8r);
271
272
insert into t1 values ('xxx','yyy');
272
273
select collation(a) from t1;
273
274
select collation(group_concat(a)) from t1;
274
275
create table t2 select group_concat(a) as a from t1;
275
--replace_regex /ENGINE=[a-zA-Z]+/ENGINE=DEFAULT/
276
276
show create table t2;
277
select collation(group_concat(a,_koi8r'test')) from t1;
279
select collation(group_concat(a,_koi8r 0xC1C2)) from t1;
277
281
select collation(group_concat(a,b)) from t1;
283
287
# Cannot convert the charset of a GROUP_CONCAT result
285
#CREATE TABLE t1 (a VARCHAR(10));
286
#INSERT INTO t1 VALUES ('�');
288
#SELECT GROUP_CONCAT(a) FROM t1;
289
CREATE TABLE t1 (a CHAR(10) CHARACTER SET cp850);
290
INSERT INTO t1 VALUES ('�');
292
SELECT GROUP_CONCAT(a) FROM t1;
292
296
# bug #7769: group_concat returning null is checked in having
331
335
CREATE TABLE t1 (
332
aID int NOT NULL auto_increment,
333
sometitle varchar(155) NOT NULL default '',
336
aID int(5) NOT NULL auto_increment,
337
sometitle varchar(255) NOT NULL default '',
335
339
PRIMARY KEY (aID),
336
340
UNIQUE KEY sometitle (sometitle)
339
343
INSERT INTO t1 SET sometitle = 'title2', bID = 1;
341
345
CREATE TABLE t2 (
342
bID int NOT NULL auto_increment,
343
somename varchar(155) NOT NULL default '',
346
bID int(5) NOT NULL auto_increment,
347
somename varchar(255) NOT NULL default '',
344
348
PRIMARY KEY (bID),
345
349
UNIQUE KEY somename (somename)
407
411
# returns BLOB": add a test case, the bug can not be repeated any more.
410
415
create table t1 (a char, b char);
411
416
insert into t1 values ('a', 'a'), ('a', 'b'), ('b', 'a'), ('b', 'b');
412
417
create table t2 select group_concat(b) as a from t1 where a = 'a';
413
418
create table t3 (select group_concat(a) as a from t1 where a = 'a') union
414
419
(select group_concat(b) as a from t1 where a = 'b');
420
select charset(a) from t2;
421
select charset(a) from t3;
415
422
drop table t1, t2, t3;
426
# Bug#18281 group_concat changes charset to binary
428
create table t1 (c1 varchar(10), c2 int);
429
select charset(group_concat(c1 order by c2)) from t1;
418
433
# Bug #16712: group_concat returns odd string instead of intended result
420
CREATE TABLE t1 (a INT, b LONGTEXT, PRIMARY KEY (a));
435
CREATE TABLE t1 (a INT(10), b LONGTEXT, PRIMARY KEY (a));
422
437
SET GROUP_CONCAT_MAX_LEN = 20000000;
447
462
# Bug#23451 GROUP_CONCAT truncates a multibyte utf8 character
467
x text character set utf8 not null,
452
468
y integer not null
454
insert into t1 values (repeat('a', 1022), 0), (repeat( 0xc3b7, 4), 0);
470
insert into t1 values (repeat('a', 1022), 0), (repeat(_utf8 0xc3b7, 4), 0);
533
550
# Bug#29850: Wrong charset of the GROUP_CONCAT result when the select employs
534
551
# a temporary table.
536
#create table t1 (id int, name varchar(20));
537
#insert into t1 (id, name) values (1, "�ra");
538
#insert into t1 (id, name) values (2, "�ra");
539
#select b.id, group_concat(b.name) from t1 a, t1 b group by b.id;
554
create table t1 (id int, name varchar(20)) DEFAULT CHARSET=utf8;
555
insert into t1 (id, name) values (1, "�ra");
556
insert into t1 (id, name) values (2, "�ra");
557
select b.id, group_concat(b.name) from t1 a, t1 b group by b.id;
561
# Bug #31154: group_concat() and bit fields;
563
create table t1(a bit not null default 0);
564
insert into t1 values (), (), ();
565
select group_concat(distinct a) from t1;
566
select group_concat(distinct a order by a) from t1;
569
create table t1(a bit(2) not null);
570
insert into t1 values (1), (0), (0), (3), (1);
571
select group_concat(distinct a) from t1;
572
select group_concat(distinct a order by a) from t1;
573
select group_concat(distinct a order by a desc) from t1;
576
create table t1(a bit(2), b varchar(10), c bit);
577
insert into t1 values (1, 'a', 0), (0, 'b', 1), (0, 'c', 0), (3, 'd', 1),
578
(1, 'e', 1), (3, 'f', 1), (0, 'g', 1);
579
select group_concat(distinct a, c) from t1;
580
select group_concat(distinct a, c order by a) from t1;
581
select group_concat(distinct a, c) from t1;
582
select group_concat(distinct a, c order by a, c) from t1;
583
select group_concat(distinct a, c order by a desc, c desc) from t1;
543
589
# Bug#30897 GROUP_CONCAT returns extra comma on empty fields