开发者

how to number the datas from mysql

This is a doubt on mysql select query let me axplain my doubt with a simple example consider this is my query SELECT dbCountry from tableCountry

tableCountry has fields dbCuntryId, dbCountry and dbState I have the result as

dbCountry 
india 开发者_如何学运维
america 
england
kenya 
pakisthan

I need the result as

1  india 
2  america 
3  england
4  kenya 
5  pakisthan

the numbers 12345 must be generated with the increase in data and it is not an autoincrement id. How can i get it is it something like loop


You can try this:

SELECT dbCountry,
(SELECT COUNT(*) FROM tableCountry t2 WHERE t2.dbCountry <= t1.dbCountry) 
AS RowNum
FROM tableCountry t1
ORDER BY dbCountry


The following should do what you need. It uses a variable that is incremented and returned for each row:

SELECT
  @rownum:=@rownum+1 number,
  c.dbCountry
FROM
  tableCountry c,
  (SELECT @rownum:=0) r

If you want the result to always be in the same order you'll need to add an order by constraint to the query, for example, ORDER BY c.dbCountry to order by the country name.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜