You need here a somewhat more complicated pivot table
the user defined variable @sql get the names and add the values
The outer select is made by @sql2
CREATE TABLE name_val
(`name` varchar(4), `value` int)
;
INSERT INTO name_val
(`name`, `value`)
VALUES
('rami', 2),
('rami', 3),
('rami', 4),
('sam', 5),
('sam', 6)
;
SET @sql = NULL;
SET @sql2 = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT('GROUP_CONCAT(IF(s.`name` = "', `name`,'", `value`,"")) AS ',name)
) INTO @sql
FROM name_val;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT('MAX(', `name`,') AS ',name)
) INTO @sql2
FROM name_val;
SET @sql = CONCAT('SELECT ',@sql2,' FROM (SELECT ', @sql, '
FROM name_val s
GROUP BY s.`name`
ORDER BY s.`name`) t1');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
rami | sam
:---- | :--
2,3,4 | 5,6
db<>fiddle here