2017-06-09 32 views
0

我有一个包含一些值的sql表,如示例中所示。SQLITE在其他列中添加列计数值

id value 
1 value1 
2 value2 
3 value3 
4 value1 
5 value2 
6 value1 

我需要添加一个列,每次存在“value1”时都必须增加一个计数器。

id value session 
1 value1 1 
2 value2 1 
3 value3 1 
4 value1 2 
5 value2 2 
6 value1 3 

你能帮我吗? 谢谢

+0

是否只涉及“值1”,或者你要计算其它值? –

+0

当表中存在“value1”时,我必须增加一个计数器,因此“session”列中的所有值将具有相同的计数器值,直到遇到下一个“value1”。 – Michele

回答

0

可以使用SQL子查询与agregation

  • 你的表
 

    CREATE TABLE test (id integer PRIMARY KEY AUTOINCREMENT NOT NULL, value nvarchar (10)); 

  • 填充数据
 

    INSERT INTO test(value) values ('value1'),('value2'), 
     ('value3'),('value1'),('value2'),('value3'), 
     ('value1'),('value1'),('value2'); 

  • 享受
 

    SELECT a.id,a.value, (SELECT COUNT(b.id) 
     FROM test b 
     WHERE a.id>=b.id and b.value = 'value1') session 
    FROM test a 
    ORDER BY a.id; 

相关问题