我有一个奇怪的情况,我正在努力处理。在mySQL SELECT
查询中,我需要有一个字段,而不是来自数据库,对于每个返回的记录,该字段从0开始计数。
对于背景信息,我必须查询一个地址表,目前看起来像这样:
SELECT
addressID,
address_1,
address_2,
city,
state,
zipcode,
country,
county,
address_type
FROM employee_address
WHERE employee_id = 1234
返回的每条记录都会在java中打开一个表单字段模板的新实例,并填充地址信息。
但我需要一个虚拟字段,对于每个返回的记录,从0开始计数,可以作为"索引"分配给每个模板,稍后在我的python编码中用于参考(无这个我在代码的后面没有索引)。希望像这样的东西
SELECT
increment(0) AS templateID,
addressID,
address_1,
address_2,
city,
state,
zipcode,
country,
county,
address_type
FROM employee_address
WHERE employee_id = 1234
不幸的是,我没有权限更改java代码,只为模板提供索引值。悲伤却又是真的。
答案 0 :(得分:1)
使用变量:
SELECT
@idx:=@idx+1 AS templateID,
addressID,
address_1,
address_2,
city,
state,
zipcode,
country,
county,
address_type
FROM employee_address, (SELECT @idx:=-1) AS var
WHERE employee_id = 1234
templateID
将从0开始,然后对于查询返回的每条记录将加1。