当前位置: 首页 > news >正文

大型门户网站设计唐河永琚建筑公司网站

大型门户网站设计,唐河永琚建筑公司网站,如何做淘宝联盟网站的推广,建站企业网站背景 我们这里有个需求,对存量用户的余额做排行处理,这个实现方式很多,这边介绍的是,通过Mysql直接实现,将排名也直接返回出来。 我知道大家在网上能找到一大把这种实例,我在这里可不是【重复造轮子】。我…

背景

我们这里有个需求,对存量用户的余额做排行处理,这个实现方式很多,这边介绍的是,通过Mysql直接实现,将排名也直接返回出来。
我知道大家在网上能找到一大把这种实例,我在这里可不是【重复造轮子】。我是这么想的,通过剖析的方式让大家理解这么写的原理,以及用到了什么知识点。

Sql实例剖析(普通排行)

业务需求:获取系统中,用户余额的排行榜。相同余额排名先后顺序无所谓
sql语句如下:

select tmp.*,(@r:=@r+1) as rank from
(
SELECTuu.phone_number,uw.balance_type,uw.wallet_balance
FROMus_wallet uw
INNER JOIN us_user uu ON uw.user_id = uu.user_id
order by uw.wallet_balance desc
) tmp,(select @r:=0) r;

说明:我想上面的表us_userus_wallet以及他们的字段就不用我多说了吧,这是我系统的业务,你们也不用关心我的表跟字段是如何设计的,通过表名跟字段名都能理解了

知识点剖析:
这里我认为有4个知识点,并且有2个是比较陌生的需要给大家说说。

  1. (select @r:=0) r:select是向mysql拿数据;@r:=0代表向mysql定义一个变量,初始化值为0;外层的r是定义别名
  2. select * from (...省略...) tmp,(select @r:=0) r:这里的关键点是两个表tmpr之间,使用逗号,是什么意思呢?我们可以把这个叫做【逗号连接符】,等同于inner join运算。那inner join大家应该知道啥意思吧?就是做【笛卡尔积】。【笛卡尔积】的意思如下:
    • 假设A={a, b},B={1, 2, 3}。那么对A跟B做【笛卡尔积】得到的结果是:A ✖ B = {(a, 1), (a, 2), (a,3), (b, 1), (b, 2), (b, 3)}。 以上是数学表示方式
    • 数据库表中解释:左边表的记录 ✖ 右边表的记录
  3. 既然是等同于inner join,那inner joinon怎么体现出来?首先,inner join其实可以省略on的,相当于对左右两张表做全乘积,如果是大表的话就完犊子了!加上on是做条件筛选而已;其次,【逗号连接符】也可以使用where来做条件筛选的,就这么简单而已
  4. (@r:=@r+1):既然知道@r是变量来的,这个我想大家都知道啥意思吧?就是每调用@r一次就对@r做一次累加咯

Sql实例剖析(并列排行)

这个算是对我上一个实例业务的补充,我也是在网上看文章偶然学习到的。我们前面的业务有一个条件是:相同余额排名先后顺序无所谓。如果需求改成:相同余额排名并列,那该如何写呢?哈哈,其实也不难,我们上面不是已经学习了【如何向mysql新增一个变量】嘛,新增一个变量存上一次的余额不就行了吗skr
sql如下:

SELECTtmp.*, IF(@last = tmp.wallet_balance, @r, @r := @r+1) AS rank,@last := tmp.wallet_balance AS last
FROM(SELECTuu.phone_number,uw.balance_type,uw.wallet_balanceFROMus_wallet uwINNER JOIN us_user uu ON uw.user_id = uu.user_idORDER BYuw.wallet_balance DESC) tmp,(SELECT @r := 0, @last := 0) r;

知识点剖析:

  1. IF(expr1, expr2, expr3):这里用了一个跟之前不一样的函数,使用IF函数来决定排名@r的操作
  2. @last := tmp.wallet_balance AS last:使用这样的方式来记录上一次余额的情况
http://www.yayakq.cn/news/925496/

相关文章:

  • 可视化建站网站源码泰安seo公司
  • 网站域名中文后缀appui设计图
  • 做网站筹钱需要多少钱网站建设维保合同
  • 江苏大都建设工程有限公司网站青岛网页搜索排名提升
  • 网站备案号查询网网上商城制作需要多少钱
  • 珠海网站制作设计方案公司推广策划
  • 男直接做的视频网站qq群排名优化
  • Crystal wordpress朝阳网站优化
  • 网站内页seo查询兰州百度网页制作公司
  • 环保网站设计价格设计的软件都有什么
  • 校园网站建设先进个人或主题网站建设实验体会
  • 交换广告是两个网站做友情链接吗乐清网站的建设
  • 网站大部分都是jsp做的湘西泸溪网站建设
  • 网站建设互联网加农业网站电子商务平台建设方案
  • 青岛网站推广优化公司wordpress右边小工具
  • win2008系统asp网站建设论坛网站如何建设
  • 网站建设中请稍后再访问淳安千岛湖建设集团网站
  • 广州网站开发棋牌乐器销售网站模板
  • 白酒包装设计网站潍坊网站制作熊掌号
  • 网站锚文本使用查询设计之家app
  • 大型门户网站核心技术手机建网站优帮云
  • 网站建设廉政风险点做一个app成本
  • 公司网站建设的费用会计处理怎么通过做网站赚钱
  • 社区网站的建设株洲做网站
  • 做网站后付款常用的网络营销工具有哪些
  • 做网站是怎么回事工控机软件开发工具
  • 想把比尔的网站封了如何做网站域名如何影响seo
  • 友点企业网站管理系统模板wordpress自媒体模板
  • wordpress通过api发送邮件优化网站速度的要点
  • 十大不收费的网站昌江区网站建设