1

MySQL データベース テーブル:

create table t (
  visitor_id int(11),
  activity_type varchar(10),
  date date
);

行:

insert into t (visitor_id, activity_type, date) values (1, 'hit',   '2012-1-1');
insert into t (visitor_id, activity_type, date) values (1, 'event', '2012-1-2');
insert into t (visitor_id, activity_type, date) values (2, 'hit',   '2012-1-2');
insert into t (visitor_id, activity_type, date) values (2, 'event', '2012-3-5');
insert into t (visitor_id, activity_type, date) values (2, 'hit',   '2012-3-2');
insert into t (visitor_id, activity_type, date) values (1, 'hit',   '2012-3-5');
insert into t (visitor_id, activity_type, date) values (1, 'hit',   '2012-2-1');

ユーザー、アクティビティ タイプ、およびアクティビティが発生した順序のデータ ダンプを取得するクエリを作成したいと考えています。次のようになります。

visitor_id, activity_type, Position 
1,          hit,              1 
1,          event,            2 
1,          hit,              3 
1,          hit,              4 
2,          hit,              1 
2,          hit,              2 
2,          event,            3 

これまでのところ、次の解決策を書いています。

select visitor_id, activity_type, 'Position'
from t1
order by visitor_id, date
;

難しい部分は、列の位置です。これは、その訪問者 ID の行の順序を表す必要があります。位置を決定する方法はありますか?

4

1 に答える 1

1

これはあなたの質問に関連している可能性があります:

MySQLはORDER BYで行の位置を取得します

于 2013-11-01T02:56:41.687 に答える