我有一个奇怪的情况,我正在努力处理。在mySQLSELECT查询中,我需要一个字段,而不是来自数据库,对于返回的每条记录,该字段从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代码来给模板一个索引值。悲伤但真实。

最佳答案

使用变量:

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开始,然后对查询返回的每条记录递增一。

关于mysql - 具有通用增量值的mySQL Select语句,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30673729/

10-11 08:34