根据列优先级选择记录

2023-12-03

首先,这个问题的标题很糟糕,但我没有找到更好的方法来描述我的问题。

可能有一个非常简单的方法可以做到这一点,但我无法弄清楚。这非常类似于this问题,但我正在 sqlite3 (iOS)上运行,所以我怀疑我的选择更加有限。

我有一张包含产品记录的表。所有记录都有一个 ID(注意:我不是在谈论行 ID,而是每个产品唯一的标识号)。某些产品在表中可能有两个条目(均具有相同的 ID)。唯一的区别在于特殊列(假设列颜色可以是红色或绿色)。

我想要做的是根据颜色的值创建一个独特产品的列表,如果同一产品同时存在绿色和红色记录,则优先考虑绿色。

简而言之,如果我有以下情况:

id       PRODUCT ID    COLOUR
1        1001          GREEN
2        1002          GREEN
3        1002          RED
4        1003          RED

我希望我的 SELECT 返回第 1、2 和 4 行。我怎样才能实现这一点?

我当前的方法是拥有单独的表,并手动进行连接,但显然这是一个非常糟糕的主意。

注意:我尝试使用相同的方法here:

SELECT * 
  FROM xx
 WHERE f_COLOUR = "GREEN"
UNION ALL
SELECT * 
  FROM xx 
 WHERE id not in (SELECT distinct id 
                    FROM xx 
                   WHERE f_COLOUR = "GREEN");

但我得到的结果是第 1,2,3,4 行,而不仅仅是第 1,2,4 行。我缺少什么?

Edit:还有一个问题:如何才能使其与记录子集一起使用,即。如果我想过滤一些记录而不是整个表?

例如,如果我有类似 SELECT * FROM table WHERE ProductID LIKE "1%" 的内容...我如何检索每个唯一的产品,但仍然尊重颜色优先级(绿色>红色)?


您的查询几乎是正确的。只需使用PRODUCTID并不是ID.

SELECT * 
FROM xx
WHERE f_COLOUR = "GREEN"
UNION
SELECT * 
FROM xx 
WHERE PRODUCTID not in 
                (SELECT PRODUCTID
                 FROM xx 
                 WHERE f_COLOUR = "GREEN");

SQLFiddle 演示

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据列优先级选择记录 的相关文章

随机推荐

  • 三.js 如何求物体局部Up向量的世界方向向量?

    我的 object3D 有一个向上向量 0 1 0 object3D 围绕偏航 俯仰和滚动移动其原点 我的问题 如何找到在世界坐标中显示 object3D 向上向量方向的向量 编码上下文示例 var v1 new THREE Vector3
  • 在一个查询中进行选择和更新

    有没有一个查询可以同时执行两个查询 这是第一个 q select c id as campaignId c priceFactor o cid o bloggerPrice o state as state o customerPrice
  • 计算gps坐标半径[重复]

    这个问题在这里已经有答案了 我有这个坐标 纬度 45 815005 时间 15 978501 我有 mysql 表 其中纬度和经度坐标存储为浮点数 我需要的是获得我周围500米内的所有坐标 所以基本上我的问题是将 X 米添加到我的坐标位置
  • Google OAuth API 获取用户的电子邮件地址?

    我正在使用我自己的个人 Google 帐户玩 Google 的 OAuth 2 0 Playground 但我似乎无法使用 Playground 恢复我的 Gmail 地址 我使用的范围是 email profile https www g
  • 如何将 WMI 日期时间转换为标准日期时间?

    我正在尝试从 WMI 读取安装日期 Win32 OperatingSystem InstallDate 返回值如下所示 20091020221246 000000 180 我怎样才能获得有效的日期 您可以使用WbemScripting SW
  • 仅针对最后一个系数的线性回归“NA”估计

    我正在 R 中运行 summary lm 函数 当我打印系数时 我会得到除最后一个变量之外的所有变量的估计值 我得到的最后一个变量是 NA 我尝试将最后一列数据与另一列进行交换 最后一列中的任何内容都得到 NA 但其他所有内容都得到了估计
  • 显示偶数后跟所有奇数

    下面写的代码是正确的 但我想缩短这段代码 用java编写一个程序 在一维数组中输入10个数字 并将它们排列成所有偶数后面都是奇数 int a new int 6 int b new int 6 int i j int k 0 System
  • 无法从 JS AJAX 将数据发送回 Django

    html javascript var csrftoken name csrfmiddlewaretoken val Save click function var ajaxdata exam Exam val ajax url save
  • 在 git 中创建别名

    我对 Git 很陌生 我正在尝试单步执行存储库中的提交 我没有为每次提交复制并粘贴 SHA 而是使用此方法获取 HEAD 之后的下一次提交 git checkout git rev list HEAD master tail n 1 这工作
  • 在 Flutter 中按降序排列 Firestore 文档?

    我想根据 Firestore 文档上传的时间戳按降序排列 我的意思是 当我上传新照片时 它应该出现在我制作的图像网格的顶部 这里我使用了 orderBy 并为参数降序传递了 true get images 方法中代码的底部 默认情况下它是
  • 如何裁剪非闭合几何体

    Intro 我在实现剪辑时注意到一个问题 请参阅this 看起来 UIElement Clip 仍然渲染不可见的部分 渲染相对较小的几何体 线条仅fill1920x1200区域 2000垂直线 需要很多时间 使用时Clip and movi
  • Pyspark DataFrameWriter jdbc 函数的忽略选项是否忽略整个事务或仅忽略违规行?

    皮斯帕克DataFrameWriter类有一个jdbc功能用于将数据帧写入 sql 这个函数有一个 ignore文档说的选项将 如果数据已经存在 则静默忽略此操作 但它会忽略整个事务 还是只会忽略插入重复的行 如果我结合起来会怎样 igno
  • android 中的 android:weightSum 是什么,它是如何工作的?

    我想知道 什么是 android weightSum 和布局权重 它们如何工作 添加 superM 和 Jeff 的答案 如果LinearLayout中有2个视图 第一个的layout weight为1 第二个的layout weight为
  • 集合属性应该是只读的

    我正在为我的 WPF MVVM 程序集使用 FxCop 它给了我错误 集合属性应该是只读的 但在我的属性中 我需要 RaisePropertyChangedEvent 现在如果我通过删除其设置部分将属性设置为只读 我如何引发此事件 语法有点
  • Twitter Bootstrap - 选项卡 - URL 不变

    我正在使用 Twitter Bootstrap 及其 选项卡 我有以下代码 ul class nav nav tabs li class active a href add add a li li a href edit edit a li
  • 向 UITableViewController 添加顶部/底部视图?

    在我的故事板中 我有 UITableViewController 它具有自定义类 如何在表格视图的顶部和底部添加 UIView 对象 我是否必须在 UIView 内创建 UITableView 和两个所需的视图 然后手动初始化我的控制器 设
  • 如何使 JScrollPane 中的垂直和水平滚动条居中?

    我有一个 JPanel 其中有一个 JLabel 已添加到 JScrollPane 中 我有一个调用的actionListenerJLabel setIcon file jpg 图像正确显示在 JScrollPane 中并且为全尺寸 滚动条
  • 日期.parse(2/4/2011 9:34:48 AM)

    我的输入将来自变量 Ticket CreationDate 看起来像 2 4 2011 9 34 48 AM 当然会有所不同 理想情况下 我可以按原样传递变量并获得不同的结果 喜欢 knownDateFunc Ticket DateCrea
  • htaccess errordocument 404 并将 url 传递给路径

    如何使用以下命令将 404 d URL 传递到我的 404 html 页面 htaccess 例如 如果我访问无效页面 user 123 RewriteEngine on RewriteCond REQUEST FILENAME f Rew
  • 根据列优先级选择记录

    首先 这个问题的标题很糟糕 但我没有找到更好的方法来描述我的问题 可能有一个非常简单的方法可以做到这一点 但我无法弄清楚 这非常类似于this问题 但我正在 sqlite3 iOS 上运行 所以我怀疑我的选择更加有限 我有一张包含产品记录的