一个表,三列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