mysq的rownumber()Over()

本文提供了一段SQL代码示例,用于从股票数据信息表中按股票代码和创建时间降序排列获取数据,并实现对同一股票代码下记录的排名。此SQL查询涉及自连接、变量设置及条件判断等技巧。

SELECT
@rownum :=@rownum + 1 AS rownum,
t.id,
t.marketValue,
t.createtime,

IF (
@pcode = t.`code`,@rank :=@rank + 1 ,@rank := 1
) AS rank,
@pcode := `code` AS `code`
FROM
(
SELECT
t1.id,
t1.`code`,
t1.marketValue,
t1.createtime
FROM
c_stock_data_info t1
) t,
(
SELECT
@rownum := 0,@pcode:=null,@rank := 0
) a
ORDER BY
t.`code`,
t.createtime DESC

转载于:https://www.cnblogs.com/zwliu/p/8124722.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值