mysql中初始化变量_MySql:在查询中初始化mySql变量

本文详细阐述了如何在MySQL查询中先设置变量@channel_rank为0,然后在后续查询中利用此变量进行递归计数,确保独立于初始赋值。通过实例展示了如何在SELECT语句中实现变量的初始化与递增操作。
摘要由CSDN通过智能技术生成

这是我的

MySql查询执行的序列:

查询1:SET @channel_rank = 0;

查询2:

SELECT time_of_day, @channel_rank := IF(

@current_channel = channel,

1,

@channel_rank + 1

) AS channel_rank ,

@current_channel := channel AS channel,Views

FROM

(

SELECT @channel_rank = 0,time_of_day,channel, SUM(Views) AS 'Views'

FROM access_logs_meaningful_optimized

WHERE `time_of_day` = 0

AND playing_date = '2016-10-26' GROUP BY channel

ORDER BY SUM(views) DESC

LIMIT 5

) xx;

样本结果:

time_of_day channel_rank channel Views

----------- ------------ --------------------- --------

0 1 Tolo 1291

0 2 Tolo News 855

0 3 Samaa News 805

0 4 Ary Digital 695

0 5 Dunya News 653

在这里我必须执行SET @channel_rank = 0;首先,为了将变量(@channel_rank)赋值为0.我的问题是如何,在查询2中我可以将变量(@channel_rank)分配给0,最初使第二个查询独立于第一个查询.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值