这是对mysql select查询的疑问
让我用一个简单的例子来解释我的怀疑
考虑这是我的疑问
SELECT dbCountry from tableCountry
tableCountry有字段dbCuntryId,dbCountry和dbState 我有结果
dbCountry india america england kenya pakisthan
我需要结果
1 india 2 america 3 england 4 kenya 5 pakisthan
数字12345必须随着数据的增加而生成,并且不是自动增量ID。 我怎么才能得到它 它就像循环
答案 0 :(得分:4)
你可以试试这个:
SELECT dbCountry,
(SELECT COUNT(*) FROM tableCountry t2 WHERE t2.dbCountry <= t1.dbCountry)
AS RowNum
FROM tableCountry t1
ORDER BY dbCountry
答案 1 :(得分:3)
以下应该做你需要的。它使用一个递增的变量并为每一行返回:
SELECT
@rownum:=@rownum+1 number,
c.dbCountry
FROM
tableCountry c,
(SELECT @rownum:=0) r
如果您希望结果始终采用相同的顺序,则需要通过约束向查询添加订单,例如,ORDER BY c.dbCountry
按国家/地区名称排序。