得到基于ID在MySQL结果

问题描述:

数据计数我有下面的一个得到基于ID在MySQL结果

id | id_fk | data | 
------------------------- 
1 | 2 | data1 | 
2 | 2 | data2 | 
3 | 1 | data3 | 
4 | 3 | data4 | 
5 | 1 | data5 | 
------------------------- 

喜欢这里的表我有表ID为“身份证”,从另一个表作为id_fk外键。

我试图实现的是,以增量模式获得每个外键的计数。也就是说,如果id_fk - > 2发生在第一次,则计数应为1,在下次发生计数变为2时,以此类推,所有id_fk。我尝试了很多方法。但没有人给我实际的产出。

从bouve表,结果表看起来像

id_fk | count | 
------------------ 
1  | 1 | 
1  | 2 | 
2  | 1 | 
2  | 2 | 
3  | 1 | 
------------------ 

请帮我唯一的这个..任何帮助将不胜感激。

谢谢

+0

你想要的东西像ROW_NUMBER。看到http://*.com/a/9652359/3630826 – 2014-10-03 05:40:24

它可以完美兼容加盟。

select t1.id_fk,t1.id,count(*) 
    from your_table t1 
    left join your_table t2 
    on t1.id_fk=t2.id_fk and t1.id>=t2.id 
group by t1.id_fk,t1.id 

Sql Fiddle Demo

+0

它的工作原理... :)谢谢... :) – Arun 2014-10-03 08:31:47

试试这个

​​
+0

这太工程好.... :)谢谢你... – Arun 2014-10-03 08:33:07