实现sqlserver的row_number函数方法
admin
2023-05-19 17:22:33
0

本文主要给大家介绍实现sqlserver的row_number函数方法,其所涉及的东西,从理论知识来获悉,有很多书籍、文献可供大家参考,从现实意义角度出发,累计多年的实践经验可分享给大家。 

1. 使用临时表

CREATE DEFINER=`root`@`%` PROCEDURE `sp_getMonitorInfo`(IN d_itemId INT, IN d_configId INT, d_count_num INT )

begin

实现sqlserver的row_number函数方法

set @count = 0;

set @num = 0;

SELECT @count :=count(1) FROM better.MonitorInfo where itemId=d_itemId and configId=d_configId;

IF @count<300

THEN

   SELECT id,cpu,cpu1,cpu2,cpu3,diskRead,diskWrite,memory,networkReceive,networkSend,time,configId,itemId FROM MonitorInfo where itemId=itemId and configId=configId;

ELSE

SET @num= round(@count/d_count_num,0);

select @num;

create temporary table tmp_MonitorInfo

(

tmp_id int(4) primary key not null auto_increment,

id  int(4) not null,

cpu int,

cpu1 int,

cpu2 int,

cpu3 int,

diskRead int,

diskWrite int,

memory int,

networkReceive int,

networkSend int,

time  varchar(40),

configId int,

itemId int

);

insert into tmp_MonitorInfo(id,cpu,cpu1,cpu2,cpu3,diskRead,diskWrite,memory,networkReceive,networkSend,time,configId,itemId)

select id,cpu,cpu1,cpu2,cpu3,diskRead,diskWrite,memory,networkReceive,networkSend,time,configId,itemId from MonitorInfo 

where itemId=d_itemId and configId=d_configId;

select  id,cpu,cpu1,cpu2,cpu3,diskRead,diskWrite,memory,networkReceive,networkSend,time,configId,itemId from tmp_MonitorInfo

where tmp_id%@num=0;

drop table tmp_MonitorInfo;

END IF;


end


2. 使用临时变量

CREATE DEFINER=`root`@`%` PROCEDURE `sp_getMonitorInfo_2`(IN d_itemId INT, IN d_configId INT, d_count_num INT )

begin



set @count = 0;

set @num = 0;

SELECT @count :=count(1) FROM better.MonitorInfo where itemId=d_itemId and configId=d_configId;

IF @count<300

THEN

   SELECT id,cpu,cpu1,cpu2,cpu3,diskRead,diskWrite,memory,networkReceive,networkSend,time,configId,itemId FROM MonitorInfo where itemId=itemId and configId=configId;

ELSE

SET @num= round(@count/d_count_num,0);

select @num;

set @i = 0;

select * from (

select @i :=@i + 1 as tmp_id,id,cpu,cpu1,cpu2,cpu3,diskRead,diskWrite,memory,networkReceive,networkSend,time,configId,itemId from MonitorInfo 

where itemId=d_itemId and configId=d_configId) aa

where aa.tmp_id%@num=0;

END IF;

看了以上介绍实现sqlserver的row_number函数方法,希望能给大家在实际运用中带来一定的帮助。本文由于篇幅有限,难免会有不足和需要补充的地方,大家可以继续关注行业资讯板块,会定期给大家更新行业新闻和知识,如有需要更加专业的解答,可在官网联系我们的24小时售前售后,随时帮您解答问题的。

相关内容

热门资讯

让数据“说话”、AI“拿主意” 在德赛西威的智能化产线上,AI让流水线告别传统人工模式,精度与效率双双跃升 集成供应链的...
星河动力智神星一号 8 月中下... 8 月 3 日消息,星河动力航天将于近期择机实施“智神星一号(遥一)”商业运载火箭发射任务,今日发布...
伊朗称在霍尔木兹海峡上空击落一... 新华社德黑兰8月3日电 据伊朗媒体3日报道,伊朗伊斯兰革命卫队在霍尔木兹海峡上空击落一架MQ-9无人...
“地表最强男人”,遇难 奇迹没有发生,在经过几天的救援之后,正式消息发出,世界著名登山家尼尔马尔·普尔贾(Nirmal Pu...
精神科医生“十级美颜”证件照刷... 近日,山西医科大学第一医院精神科医生郎小娥的证件照,因美颜效果突出打破大众固有印象而意外出圈。8月1...
凤凰直击日本熊本震区:刚修缮好... 日本熊本强震重创当地历史建筑。位于熊本县八代市的八代宫神社受损惨重。凤凰卫视特派记者蒋文彬采访了神社...
考勤、工资、社保都要查,中国企... 编者按7月23日,欧盟第21轮对俄制裁,将14家中国内地及香港企业列入名单;不到24小时,中国商务部...
两名俄公民在泰国遇害,泰总理道... 综合泰国《曼谷邮报》等媒体8月2日报道,对于两名俄罗斯公民近期在泰国遇害,泰国总理阿努廷作出表态并进...
总书记的人民情怀|“坚持高质量... 原标题:“坚持高质量发展要成为领导干部政绩观的重要内容”(总书记的人民情怀)本报记者 赵 成 史一棋
马科斯遭痛批“亲美上头”:瞧瞧... 菲律宾主流英文报刊《马尼拉时报》8月3日刊发评论文章,批评菲律宾政府近年来过度依赖美国安全承诺,对华...