我有一张表格如下:
id name address batch
1 t1 addr1
2 t2 addr2
3 t3 addr3
4 t4 addr4
5 t5 addr5
6 t6 addr6
我需要一个sql来使用预定的批量大小填充批次列。因此,例如,如果批量大小计算为2,则表格如下:
id name address batch
1 t1 addr1 1
2 t2 addr2 1
3 t3 addr3 2
4 t4 addr4 2
5 t5 addr5 3
6 t6 addr6 3
因此,由于批量大小为2,我们为多个行分配一个从1开始的批次(在本例中为2)
有人可以帮助我使用sql吗?
感谢。
答案 0 :(得分:1)
你可以将id除以2,然后将其分割; 1将是0.5但是ceiled = 1,2将是1,因此批次1.等等。
Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect)
答案 1 :(得分:0)
我会使用row_number()
:
select t.*,
floor((row_number() over (order by id - 1))/2)
from t;
" 2"是批量大小。
答案 2 :(得分:0)
您不需要使用Intent i = new Intent(this, ActivityB.class);
startActivity(i);
功能只需使用排名功能:
floor