1

私は次のようなtbl_sActivityを持っています:

act_id | Client_id | act_status | user_id | act_date
1 | 7 | 暖かい| 1 | 19/7/12
2 | 7 | 取り扱った| 1 | 30/7/12
3 | 8 | ホット| 1 | 6/8/12
4 | 5 | 寒い| 22 | 7/8/12
5 | 6 | 寒い| 1 | 16/7/12
6 | 6 | 暖かい| 1 | 18/7/12
7 | 6 | 取り扱った| 1 | 7/8/12

各user_idのクライアントのact_statusを最新のステータスから数えたい。出力は次のようになります

user_id | act_status | Count(act_status)
1 | 取り扱った| 2
1 | ホット| 1
22 | 寒い| 1

しかし、私にできることは、機能のない最新のアクティビティを表示することだけでした。だから私を助けてください。どうもありがとうございます。

4

2 に答える 2

1

私はあなたのロジックを取得しませんでした.simplesクエリは次のようになります:

select user_id, act_status, count(act_Status)
from your_table
group by user_id, act_status

しかし、予想される出力でユーザー1に「コールド」がないのはなぜですか?

編集:

select user_id, act_status, count(act_Status)
from your_table
where act_date in (
    select  max(act_date)
    from your_table
    group by Client_id
)
group by user_id, act_status
于 2012-08-08T09:00:19.467 に答える