2

次のテーブルがあります。

content : content_id、user_id、post_date

コメント: comment_id、user_id、comment_date

月別および年別にグループ化されたアクティブなユニーク ユーザーの数を取得するにはどうすればよいですか? アクティブとは、ユーザーがその月に投稿またはコメントしたことを意味します。

4

3 に答える 3

5
SELECT
  T.action_year,
  T.action_month,
  COUNT(T.user_id) active_users
FROM
  (
  SELECT DISTINCT user_id, YEAR(post_date) action_year, MONTH(post_date) action_month FROM content
  UNION
  SELECT DISTINCT user_id, YEAR(comment_date) action_year, MONTH(comment_date) action_date FROM comment
  ) T
GROUP BY
  T.action_year,
  T.action_month
ORDER BY
  T.action_year ASC,
  T.action_month ASC
于 2012-04-22T01:44:34.403 に答える
0

これはテストされていません。

select count(table1.user_id), table1.user_id
from table1 table2 
where table1.user_id = table2.user_id
And table2.comment_date like 'may'
于 2012-04-22T01:38:52.190 に答える
0

これを試して

select TO_CHAR(order_dt,'MON-YYYY'), count(distinct User_ID ) cnt from [orders] 
where User_ID  in 
(select User_ID from
 (select a.User_ID from  [orders] a,
(select a.User_ID,count (a.order_dt) from [orders] a 
where a.order_dt > (select max(b.order_dt)-365 from [orders] b where a.User_ID=b.User_ID)
group by a.User_ID
having count(order_dt)>1) b
where a.User_ID=b.User_ID) a
)
group by TO_CHAR(order_dt,'MON-YYYY');
于 2015-06-05T05:10:28.577 に答える