一个表,三列MYSQL查询问题
引用我前面的问题:一个表,两列MYSQL查询挑战
命令:“SELECT hostname,GROUP_CONCAT(DISTINCT name)as name FROM comments GROUP BY hostname”
返回预期结果:
192.168.0.1 user1,user2
192.168.3.5 user3
同一张表“评论”也有一个“时间戳”字段。 如何为每个使用该ip的用户添加最新(最新)的时间戳?
例:
192.168.0.1 user1-1277146500,user2-1277250087
192.168.3.5 user3-1237150048
我尝试了一些命令的变体,但只能得到所有的时间戳,而不是最新的一个......
另外,如果可能的话,在显示它之前将时代戳转换为更友好的东西会很好。
SELECT 
     hostname, 
     GROUP_CONCAT(CONCAT_WS("-", name, m_timestamp))
FROM
     (SELECT 
          hostname, 
          name,
          cast(max(timestamp) as char(24)) as m_timestamp 
     FROM 
          comments 
     GROUP BY 
          hostname,
          name) as A
GROUP BY 
     hostname
编辑
每个OP的注释将列名更新为时间戳(是c_timestamp)
  将varchar转换的Max(timestamp) Concat到名称并在Group by子句中添加时间戳 
SELECT hostname,
  GROUP_CONCAT(DISTINCT name, CAST(MAX('timestamp') AS VARCHAR) as name 
FROM comments GROUP BY hostname
认为它会工作,但我没有测试过。
MAX(`timestamp`)
                        链接地址: http://www.djcxy.com/p/5165.html
                        
                        
                    