【发布时间】:2021-06-12 06:59:57
【问题描述】:
我正在 mysql 中创建一个过程,但我遇到了所需结果的问题,现在我一团糟。请帮帮我!
要求是这样的:
从表中获取当天的前 20 个条目。在前 20 名条目中,它们应该是白天最常出现的条目——如果可能的话。 - 如果发现的错误发生在过去 30 天之前,请显示它在过去 30 天内出现的计数,以及错误首次出现的日期。例如 - 应用程序 1 出现错误,显示今天发生的“连接错误”消息。但是,它在过去 30 天内也出现过此错误,出现 5 次以上。计数应显示为 6(当前出现和前 5 次出现)。错误首次出现的日期也应该显示出来。输出应如下所示 - 按列名: - 应用程序名称 - 错误消息 - 计数 - 过去 30 天内错误消息出现的次数,对于“应用程序名称”和“错误消息”的唯一键 - 日期 -首次出现此错误的日期,为“应用名称”和“错误消息”的唯一键
我的桌子是这样的:
到目前为止,我已经创建了以下过程:
CREATE PROCEDURE ExpectedResult()
BEGIN
SELECT 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 ;
【问题讨论】:
-
为什么需要一个程序?和 pß0lease 看看meta.stackoverflow.com/questions/285551/… 的minimal reproducible example
-
我明天要考试,这是一个样题。这是我直到现在才解决的最后一个问题。一个解决方案会对我有很大帮助@nbk
标签: mysql sql stored-procedures procedure