更新バージョン
クエリを次のよう試すことができます。 mysql変数を使用して、カラムのカスタマーIDおよびのサービスIDの連続した変更をチェックします。 (あなた以外)
SELECT customerid, serviceid, MAX(R)+1 AS ServiceIdCount
FROM (SELECT c.customerid, c.serviceid
, CASE WHEN @s=CONCAT(customerid,'|',serviceid) THEN @r:[email protected]+1 ELSE @r:=0 END AS R
, @s:=CONCAT(customerid,'|',serviceid) AS S
FROM customer c
CROSS JOIN (SELECT @r:=0, @s:='') d
ORDER BY id
) e
WHERE R>0
GROUP BY customerid, serviceid;
追加サンプルデータ:
insert into customer(customerid,serviceid) values('Mark','Mobile');
insert into customer(customerid,serviceid) values('Mark','Mobile');
insert into customer(customerid,serviceid) values('Mark','Mobile');
insert into customer(customerid,serviceid) values('Mark','Landline');
insert into customer(customerid,serviceid) values('Mark','Mobile');
insert into customer(customerid,serviceid) values('Mark','Mobile');
出力:
+------------+-----------+----------------+
| customerid | serviceid | ServiceIdCount |
+------------+-----------+----------------+
| Mark | Mobile | 3 |
| Nishant | Landline | 3 |
| Nitesh | Mobile | 2 |
| Soe | Mobile | 2 |
+------------+-----------+----------------+
SQLテーブル*順不同*セットを表します。順序を指定する列がないと、質問に意味がありません。 –
注文をどのように正確に知ることができますか? – sagi
...別の列(日付、ID ...)が必要です。 – etsa