一. mysql查询显示行号
- mysql本身不像oracle那样使用 rownum 来显示行号的功能.但是可以使用设置变量的方式来实现这一功能.
- mysql使用 @ 定义用户变量, @@ 定义系统变量.
- 查询显示的具体代码
set @rowno := 0; #定义一个变量,变量名随意
SELECT u.*, (@rowno := @rowno +1) as rowno from user u # 使用的时候动态赋值.
二. 去除重复数据保留一行
# 换成删除语句即可
select * from user_auth s
where s.nickname in (
select nickname from (select ua.nickname
,count(*) cnt
,min(ua.id) mid
from user_auth ua
group by ua.nickname
having count(ua.nickname) > 1 ) a
)
and s.id not in (
select mid from (select ua.nickname
,count(*) cnt
,min(ua.id) mid
from user_auth ua
group by ua.nickname
having count(ua.nickname) > 1 ) b
)
好记性不如烂笔头.