我有一个奇怪的情况,我正在努力处理。在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/