MYSQL如何自动为查询数据的结果编上序号详解
前言 其实自己之前没遇到过这种在查询时给结果编号的情况,是同事打算跳槽,面试回来问到这种情况才想到去研究,以下以单表查询为例分析下: SQL: SELECT (@i:=@i+1) i,user_id,user_name FROM `dt_user_all_orders`,(SELECT @i:=0) as i WHERE user_name='qqqqqqqqqq' LIMIT 0,10; 结果: 如果需要分组后再进行序号显示: SELECT drug_productor,@y:=@y+1 as num FROM( SELECT drug_productor FROM ts_drug a GROUP BY drug_productor) c,(SELECT @y:=0) d 结果: 分析: 在开始是定义一个变量i,让它每增一条结果是➕1, 这里顺带复习下mysql定义用户变量的方式:select @变量名 对用户变量赋值有两种方式,一种是直接用"="号,另一种是用":="号。其区别在于使用set命令对用户变量进行赋值时,两种方式都可以使用;当使用select语句对用户变量进行赋值时,只能使用":="方式,因为在select语句中,"="号被看作是比较操作符
总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对编程小技巧的支持。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |