数据库SQL查询问题,一道面试题,查了好久也没搞定,来SF求助

数据库中有张表,

表的定义为name, address,arrive_time,

数据为

张三,北京,10:00 ; 
张三 ,河北,12:00 。

怎么查询显示结果为 张三, 北京 河北, 12:00


呼如林
浏览 995回答 2
2回答

饮歌长啸

--sql server的写法    SELECT name,         STUFF((SELECT','+ convert(VARCHAR(200),address) FROM [TableName] WHERE name=V.name FOR XML PATH('')),1,1,'') AS Newaddress,        MAX(arrive_time) AS Maxtime        FROM [TableName] V         GROUP BY name

绝地无双

SELECT name, GROUP_CONCAT(DISTINCT address SEPARATOR ' ') AS address, max(arrive_time) AS arrive_timeFROM mytableGROUP BY name
打开App,查看更多内容
随时随地看视频慕课网APP