私のテーブル構造
id name
1 bhagi
1 user
1 amit
1 sumit
2 bhagi
2 chinmay
2 sumit
3 rashmi
3 RBS
4 sumit
4 amit
4 bhagi
4 rashmi
4 RBS
結果が欲しい
id name result
1 bhagi 1/4(position of bhagi for id 1(1) / no of time that id is present(4))
1 user 2/4
1 amit 3/4
2 bhagi 1/3
2 chinmay 2/3
3 rashmi 1/2
4 sumit 1/5
4 amit 2/5
4 bhagi 3/5
4 rashmi 4/5
私の要件は、結果列を取得することです
例:Id1の場合
そこにre4id present bhagi、user、amit and sumit
bhagiの場合、結果は1/4になります(bhagiの位置はdb内で1であり、存在するid 1の数は4であるため)他の場合も同様です。
結果が1の場合は無視したい。
分母の部分を計算しようとしましたが、わかりません。idが存在する回数を意味します。
[編集]
私が試してみました
select id,
name,
IF(@LAST=(@LAST:=id), @CURROW := @CURROW + 1, @CURROW:=1) AS ROW_NUMBER
FROM FEEDBACK_STORE
JOIN (SELECT @CURROW := 0, @LAST:=0) R
その与える結果
id name row_number
1 bhagi 1
1 user 2
1 amit 3
1 sumit 4
2 bhagi 1
2 chinmay 2
2 sumit 3
3 rashmi 1
3 RBS 2
4 sumit 1
4 amit 2
4 bhagi 3
4 rashmi 4
4 RBS 5
分母部分はidのカウントのみが必要です。例:id 1-4の場合、id 2-3の場合、id 3-2の場合、id4-5の場合
[/編集]
助けてください
前もって感謝します