具有泛型递增值

时间:2015-06-05 18:49:08

标签: mysql

我有一个奇怪的情况,我正在努力处理。在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代码,只为模板提供索引值。悲伤却又是真的。

1 个答案:

答案 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。