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

0 0 mysql sql redis oracle sqlserver
ㄨ木子李
ㄨ木子李

声望值:97 0人

2019-01-30 16:49:55 提问

关注 0关注

收藏 0收藏, 61浏览

数据库中有张表,

表的定义为name, address,arrive_time,

数据为

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

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

请先 登录 后评论

2个回答

  • 八零末愤青133声望 2018-09-25 09:27

    SELECT name, GROUP_CONCAT(DISTINCT address SEPARATOR ' ') AS address, max(arrive_time) AS arrive_time FROM mytable GROUP BY name
    请先 登录 后评论
  • 爪哇程序猴323声望 2018-09-25 09:28

    --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
    请先 登录 后评论

注册新账号

悬赏追问
10
  • 10
  • 20
  • 50
  • 100
  • 200
  • 输入数值
发布追问