大佬教程收集整理的这篇文章主要介绍了如何在mysql中创建过程,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在 MysqL 中创建一个过程,但我遇到了所需结果的问题,现在我一团糟。请帮帮我!
要求是这样的:
从表中获取当天的前 20 个条目。如果可能的话,前 20 个条目应该是白天出现频率最高的条目。 - 如果发现的错误发生在过去 30 天之前,请显示过去 30 天出现的次数,以及错误首次出现的日期。例如 – 应用程序 1 有一条错误消息,显示今天发生的“连接出错”。但是,在过去 30 天内,它也发生了此错误,发生了 5 次以上。计数应显示为 6(当前出现次数和前 5 次出现次数)。错误第一次出现的日期也应该显示出来。输出应如下所示 - 按列名称: - 应用名称 - 错误消息 - 计数 - 错误消息在过去 30 天内出现的次数,对于“应用名称”和“错误消息”的唯一键 - 日期 -此错误首次出现的日期,为“应用名称”和“错误消息”的唯一键
我的桌子是这样的:
到目前为止,我已经创建了以下过程:
CREATE PROCEDURE ExpectedResult()
BEGIN
@R_674_10288@CT log_ID,app_name,error_message,error_date,count(error_messagE)
FROM app_log WHERE error_date < '2021-03-14' -- CURDATE()
group by app_name,error_message;
END$$
DEliMITER ;
重建数据需要更多的时间,就像编写一个simole sql查询
create table app_log (
`LOG_ID` IntegeR,`APP_NAME` VARCHAR(5),`ERROR-messaGE` VARCHAR(34),`ERROR-DATE` VARCHAR(10)
);
INSERT INTO app_log
(`LOG_ID`,`APP_NAME`,`ERROR-messaGE`,`ERROR-DATE`)
VALUES
('1','APP_1','UNABLE TO CONNECT - 101','2021-03-14'),('2','UNABLE TO CONNECT - 101','2021-03-01'),('3','2021-01-01'),('4','UNABLE TO CONNECT - 102',('5',('6','UNABLE TO CONNECT - SERVER ERROR',('7','UNABLE TOCONNECT -102','2020-01-01'),('8','APP_2','SERVER ERROR 1',('9',('10',('11','SERVER ERROR 2',('12',('13','PROXY ERROR',('14','APP_3','SERVER UNAVAILABLE',('15',('16','2021-01-01');
@R_674_10288@CT MAX(LOG_ID),APP_NAME,MAX(`ERROR-DATE`),count(`ERROR-messaGE`) count_messages
FROM app_log WHERE `ERROR-DATE` >= CURDATE() - iNTERVAL 30 daY
group by APP_NAME,`ERROR-messaGE`
ORDEr BY count_messages DESC
LIMIT 20;
@H_738_19@mAX(LOG_ID) | APP_NAME | ERROR-messaGE | MAX(`ERROR-DATE`) | count_messages
----------: | :------- | :------------------------------- | :---------------- | -------------:
9 | APP_2 | SERVER ERROR 1 | 2021-03-14 | 2
15 | APP_3 | SERVER UNAVAILABLE | 2021-03-14 | 2
1 | APP_1 | UNABLE TO CONNECT - 101 | 2021-03-14 | 1
2 | APP_1 | UNABLE TO CONNECT - 101 | 2021-03-01 | 1
4 | APP_1 | UNABLE TO CONNECT - 102 | 2021-03-14 | 1
6 | APP_1 | UNABLE TO CONNECT - SERVER ERROR | 2021-03-14 | 1
11 | APP_2 | SERVER ERROR 2 | 2021-03-14 | 1
13 | APP_2 | PROXY ERROR | 2021-03-14 | 1
dbfiddle here
以上是大佬教程为你收集整理的如何在mysql中创建过程全部内容,希望文章能够帮你解决如何在mysql中创建过程所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。