業務中需要根據某個字段大小來進行資料的排名 方法如下
表設計:
create table `yl_solo` (
`id` int(11) not null auto_increment,
`isuse` tinyint(1) not null default '1',
`estate` tinyint(1) not null default '1',
`userid` int(11) not null default '0' comment '使用者id',
`username` varchar(50) not null default '' comment '姓名',
`address` varchar(255) not null default '' comment '地區',
`specialty` varchar(255) not null default '' comment '特長',
`pictureid` int(11) not null default '0' comment '**',
`createtime` int(11) not null default '0' comment '時間',
`makelist` int(11) not null default '0' comment '打榜了熱度',
`experience` int(11) not null default '0' comment '經驗',
`level` int(11) not null default '0' comment '級別1(a)2(b)3(c)4(d)5(e)',
primary key (`id`)
) engine=innodb auto_increment=5 default charset=utf8mb4 comment='個人出道';
sql語句:
select
userid,
username,
pictureid as imgurl,
address,
specialty,
makelist,
rank
from
( select
d.*,(
@rowno := @rowno + 1
) as rank
from
( select
a.userid,
a.pictureid,
a.address,
a.specialty,
a.makelist,
a.estate,
a.username
from
yl_solo a
order by
a.makelist desc
) d,(
select
( @rowno := 0 )) c
) ewhere
userid = 13589 and estate = 1
此sql是根據makelist來進行的排名
結果:
mysql隨機獲取一條或者多條資料
研究一些隨機的因素,主要是講究效率問題。語句一 select from users order by rand limit 1 mysql手冊裡面針對rand 的提示大概意思就是,在 order by從句裡面不能使用rand 函式,因為這樣會導致資料列被多次掃瞄,導致效率相當相當的低,效率不行,切忌...
mysql隨機獲取一條或者多條資料
轉來備份 研究一些隨機的因素,主要是講究效率問題。語句一 select from users order by rand limit 1 mysql手冊裡面針對rand 的提示大概意思就是,在 order by從句裡面不能使用rand 函式,因為這樣會導致資料列被多次掃瞄,導致效率相當相當的低,效率...
mysql隨機獲取一條或者多條資料
轉來備份 研究一些隨機的因素,主要是講究效率問題。語句一 select from users order by rand limit 1mysql手冊裡面針對rand 的提示大概意思就是,在 order by從句裡面不能使用rand 函式,因為這樣會導致資料列被多次掃瞄,導致效率相當相當的低,效率不...