SQL代码整理之道

一、在工作中,见到好多人在写SQL代码时,都是一长串字符打天下,很难看到其结构,也就读懂其句意。今天我把我的一点习惯性经验总结下,不全面,就当是随笔经验吧。

二、主要是三方面:

1、关键字大写,并以一行单独书写,这个主要是个建议,为了更清楚的看清语句结构,如果你感觉小写也能看请,那也可以;

2、不同级别语句之间要有缩进;这样方便看到起包含关系和语句调试;

3、尽量使用别名,而且别名尽量有意义。

三、实例:

SELECT
	tb.days,
	tb.tstep,
	tb.name,
	tb.sex,
	tb.birth,
	CASE
	  WHEN @rowtotal = sum(tb.tstep) THEN @rownum
	  WHEN @rowtotal := sum(tb.tstep) THEN @rownum :=@rownum + 1
	  WHEN @rowtotal = 0 THEN @rownum :=@rownum + 1
	END AS rank
FROM
   	( 
       SELECT
		  DATE_FORMAT(rn.datetime,'%Y%m%d') days,
		  sum(rn.step) as tstep,
		  rn.uid as uid,
		  u.name,
		  u.sex,
		  u.birth
	   FROM
	      run as rn
	      LEFT JOIN users u on u.uid = rn.uid
	   WHERE
          rn.datetime >= ? and rn.datetime < ?
	   GROUP BY
		  days,uid
	   ORDER BY 
          tstep DESC
	   LIMIT 20
	) as tb,
	(SELECT 
       @rownum := 0 ,
       @rowtotal := NULL
    ) r

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值