0

我想从查询结果中选择不应该相对于另一列重复的值。

在此处输入图像描述

在这些屏幕截图中,我只想function为每个用户 id 和 object_id 选择一次列作为连接值。例如,在此屏幕截图中,delete_portfolio_module用户 id 32782 重复了很多次,所以我只需要使用 max( id)、timebox_id、user_id、function、object_id 一次,如下所示,

id           |timebox_id|user_id|function                             |object_id
----------------------------------------------------------------------------------------
    3155     |4         |32799  |add_latest_activity_to_portfolio     |7410
    3137     |4         |32797  |add_latest_activity_to_portfolio     |7408
    3133     |4         |32796  |add_latest_activity_to_portfolio     |7406
    3115     |2         |32782  |delete_portfolio_module              |7381,7382,...,7388,7389
    .
    .
    .

Sio,如何在mysql中实现这一点?请帮忙...

4

1 回答 1

0

您需要对这两列进行分组:user_id因此function您可以聚合剩余的列。

SELECT  MAX(ID) ID,
        MAX(timebox_ID) timebox,
        user_ID,
        `function`,
        GROUP_CONCAT(object_ID) objectList
FROM    TableName
GROUP   BY user_ID, `function`
于 2013-03-18T05:52:58.343 回答