0

別の列に関して繰り返してはならないクエリ結果から値を選択したいと考えています。

ここに画像の説明を入力

これらのスクリーンショットでは、function連結された値として各ユーザー ID と object_id に対して 1 回だけ列を選択したいと考えています。たとえば、このスクリーンショットでdelete_portfolio_moduleは、ユーザー ID 32782 に対して何度も繰り返されているため、次のように max( id),timebox_id,user_id,function,object_id で1 回だけ使用する必要があります。

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_id2 つの列をグループ化する必要がある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 に答える