编写 MySQL 查询以获得所需结果

2024-06-28

我正在使用 MySQL 数据库。

风险因素有四种类型:严重、高、中、低

表包含如下数据:

id uaid attribute value time risk factor
1 1234 Edge Exist 16123 NONE
2 1234 Edge Not Exist 16124 CRITICAL
3 1234 Edge Exist 16125 NONE
4 1237 Chrome Exist 124745 NONE
5 1237 Chrome Not Exist 124759 HIGH

所需的结果应如下所示:

Attribute Risk Factor UAID Failed Value Present Value
Edge CRITICAL 1234 Not Exist Exist
Chrome HIGH 1237 Not Exist Not Exist

解释:

  1. 我们需要显示具有严重、中等、高、低风险因素的数据。

  2. 失败值 = 在风险因素至关重要时(最近一次),则该属性的值表示为失败值

  3. 当前值 = 它表示为数据库中该属性的当前值。

我尝试过两个sql查询的解决方案。一种用于获取风险系数等于关键的行。第二个用于获取每个独特属性的当前值。然后对两个查询中的数据进行一些格式化。

我正在寻找一种解决方案,可以根据要求消除数据格式化的额外开销。

Schema表(id,uaid,属性,值,时间,风险因子)


如果我理解正确,您想要的最后一个值是您指定的四个值之一(即不是'NONE')。窗口函数可能是最简单的解决方案:

select t.*
from (select t.*,
             first_value(value) over (partition by uaid order by id desc) as current_value
      from t
     ) t
where risk_factor <> 'NONE';
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编写 MySQL 查询以获得所需结果 的相关文章

随机推荐

  • 如何使用RxJsdistinctUntilChanged?

    我正在开始使用 RxJs 使用 v5 beta 但不知何故我不知道如何使用distinctUntilChanged 如果我在 babel node 中运行下面的代码 其输出是 a 1 key a state 1 Next value 42
  • Boto 与 EC2 IAM 角色间歇性“无法加载凭证”

    我使用 Elastic Beanstalk 环境来部署 Web 应用程序 并为应用程序将在其上运行的实例设置了 IAM 角色 99 99 的时间里一切都完美无缺 但是我会间歇性地在日志中看到错误 请求失败显示 botocore 错误 如下所
  • Python - 比较2个文件并输出差异

    我的目标是编写一个脚本来比较文件中的每一行 并根据此比较创建一个新文件 其中包含第二个文件中不存在的文本行 例如 File 1 Bob 20 Dan 50 Brad 34 Emma 32 Anne 43 File 2 Dan 50 Emma
  • SQL Server 2008:TOP 10 和不同的一起

    正如标题所示 我正在使用 SQL Server 2008 如果这个问题非常基本 我深表歉意 我才使用 SQL 几天 现在我有以下查询 SELECT TOP 10 p id pl nm pl val pl txt val from dm la
  • excel vba范围单元格错误对象定义[重复]

    这个问题在这里已经有答案了 我一直在 Excel 中开发一个宏 该宏对一张工作表 次要 中的表格进行排序 当满足条件时 它应该将该表中的数据添加到第二张工作表 Sheet1 中的另一个表格中 但是我一直运行时出现 1004 错误 对象未定义
  • 需要更好的等待解决方案

    最近 我一直在用 C 编写一个程序 它可以 ping 三个不同的网站 然后根据通过或失败的情况 它将等待 5 分钟或 30 秒 然后再次尝试 目前我一直在使用ctime库和以下函数来处理我的等待 然而 根据我的 CPU 计量表 这是一个不可
  • Jetpack Compose Navigation - 将参数传递给 startDestination

    我正在构建的应用程序使用带有路线的组合导航 挑战在于起始目的地是动态的 这是一个最小的例子 class MainActivity ComponentActivity override fun onCreate savedInstanceSt
  • Stream API - 如果紧随其后放置 filter(),sorted() 操作如何工作?

    采取以下代码 对列表进行排序 然后对其进行过滤 public static void main String args List
  • XPS 文件中打印的重复图像

    首先 我想指出 我已将此作为错误向 Microsoft 提出 但他们目前不愿意修复它 我正在寻找一种解决方法或更好的方法来实现我想要做的事情 因为我们的客户认为这是一个相当重要的问题 The code 主窗口 xaml
  • 如何在可观察流中以不同方式处理前 n 项和剩余一项

    例如 给定一定数量 m 的数字流 m1 m2 m3 m4 m5 m6 并对前 n 个项目应用变换 2 i n 可以小于 等于或大于 m 对其余项目应用另一个变换 3 i 和 返回结果 m1 2 m2 2 m3 3 m4 3 m5 3 m6
  • 如何跳过要求输入密码的 Fabric 连接?

    我正在迭代数百个 EC2 实例 但只能访问其中约 80 我想跳过任何拒绝我的 SSH 密钥并要求输入密码的实例 如果主机无法访问 则可以使用 skip bad hosts选项 否则 看起来您可以使用设置上下文管理器并在该上下文管理器中尝试
  • 在 IE8 中无法正确从 JSONP 文件读取特殊字符

    同样的问题上一个问题 https stackoverflow com questions 4742771 special characters are not being read from a jsonp file correctly我专
  • 在代理后面使用 Maven 和 SSL 时出现问题

    我刚刚下载了 Maven 并尝试运行 五分钟内的 Maven 页面上找到的简单命令 http maven apache org guides getting started maven in Five millions html http
  • NSZombieEnabled 完全隐藏 EXC_BAD_ACCESS 错误

    因此 我有一个 UIView 的子类 当我经历一组特定的条件时 在 iPad 而不是 iPhone 或模拟器上运行 仅首次登录 它开始导致 EXC BAD ACCESS 错误 当 UIView 子类从池中自动释放时 即池正在释放 而不是当我
  • 更改EditText.setError()背景和错误消息android

    我想更改无效电子邮件地址的错误消息的文本和背景颜色 我尝试过 但我的短信不显示任何内容 这是我的代码 public class TextboxValidation validating email address public static
  • 使用 SerialPort 禁用 EOF (0x1A) [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我知道还有
  • 当视图切换到其他浏览器选项卡时,网页 javascript 的行为有所不同

    抱歉我写标题时的英文不好 我已经尽力了 直播站点 http tt fbcwinterretreat org http tt fbcwinterretreat org 请注意 为了更好地了解发生的情况 我建议您降低窗口高度 问题是 如果您一直
  • 如何重置/清除文件输入

    我从输入类型 文件重置图像文件时遇到了这个问题 这就是场景 我设置了一个图像 然后单击 取消 按钮 这意味着它被重置 然后我将再次设置相同的图像 它不会设置 我不知道为什么 但我认为这是一个错误 这是我用于重置图像 表单的代码 resetI
  • 为什么我收到此错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用/

    错误 无效的挂钩调用 钩子只能在函数组件的主体内部调用 发生这种情况可能是由于以下原因之一 您的 React 和渲染器版本可能不匹配 例如 React DOM 你可能违反了 Hooks 规则 您可能在同一个应用程序中拥有多个 React 副
  • 编写 MySQL 查询以获得所需结果

    我正在使用 MySQL 数据库 风险因素有四种类型 严重 高 中 低 表包含如下数据 id uaid attribute value time risk factor 1 1234 Edge Exist 16123 NONE 2 1234