One table, three column MYSQL query question
In reference to my previous question: One table, two column MYSQL query challenge
The command: "SELECT hostname, GROUP_CONCAT(DISTINCT name) as name FROM comments GROUP BY hostname"
returns the expected results:
192.168.0.1 user1,user2
192.168.3.5 user3
The same table "comments" also has a "timestamp" field. How do I include the latest (most current) timestamp for each user using that ip?
Example:
192.168.0.1 user1-1277146500,user2-1277250087
192.168.3.5 user3-1237150048
I tried a number of variations of the command, but could only get all the timestamps, not the most current one...
also.. if possible it would be nice to convert the epoch timestamp to something more friendly before displaying it.
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
Edit
Updated column name to timestamp (was c_timestamp) per OP's comments
Concat the varchar
converted Max(timestamp)
to the name and add timestamp in the Group by clause
SELECT hostname,
GROUP_CONCAT(DISTINCT name, CAST(MAX('timestamp') AS VARCHAR) as name
FROM comments GROUP BY hostname
Think it will work, though I have not tested this.
MAX(`timestamp`)
链接地址: http://www.djcxy.com/p/5166.html
上一篇: 我如何从我的mysql数据库表“userlog”获得高峰时间
下一篇: 一个表,三列MYSQL查询问题