在MySQL中,有時(shí)候需要將多行記錄合并成一條記錄。這時(shí)候可以使用GROUP BY子句來實(shí)現(xiàn)。
首先在表格中添加幾條記錄:
CREATE TABLE test ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); INSERT INTO test VALUES (1, 'Tom', 20); INSERT INTO test VALUES (2, 'Jerry', 21); INSERT INTO test VALUES (3, 'Mary', 22); INSERT INTO test VALUES (4, 'John', 22);
現(xiàn)在有多名學(xué)生的姓名和年齡,需要將所有年齡相同的學(xué)生合并成一條記錄。
SELECT age, GROUP_CONCAT(name SEPARATOR ', ') AS names FROM test GROUP BY age;
這條SQL語句將年齡相同的學(xué)生姓名合并為一條記錄,其中GROUP_CONCAT函數(shù)用于將多個(gè)字符串連接成一個(gè)字符串,SEPARATOR用于指定連接符號(hào)的類型。
運(yùn)行該語句后,可以得到以下結(jié)果:
+-----+-------------+ | age | names | +-----+-------------+ | 20 | Tom | | 21 | Jerry | | 22 | Mary, John | +-----+-------------+