如何选择不同于复合主键表

2024-01-31

我想了解如何过滤掉select来自具有两个主键的 SQL 表,如下所示:

╔═══════════════════╦════════════════════╦════════════╗
║ First Primary Key ║ Second Primary Key ║ Data       ║
╠═══════════════════╬════════════════════╬════════════╣
║ 1                 ║ 1                  ║ Bla,bla,bla║
║ 1                 ║ 2                  ║ Bla,bla,bla║
║ 1                 ║ 3                  ║ Bla,bla,bla║
║ 1                 ║ 4                  ║ Bla,bla,bla║
║ 2                 ║ 5                  ║ Bla,bla,bla║
║ 2                 ║ 6                  ║ Bla,bla,bla║
║ 2                 ║ 7                  ║ Bla,bla,bla║
║ 3                 ║ 8                  ║ Bla,bla,bla║
║ 4                 ║ 9                  ║ Bla,bla,bla║
║ 4                 ║ 10                 ║ Bla,bla,bla║
║ 4                 ║ 11                 ║ Bla,bla,bla║
║ 4                 ║ 12                 ║ Bla,bla,bla║
╚═══════════════════╩════════════════════╩════════════╝

我想要distinct第一列并只取max(Second_Primary_Key)从第二列开始。

我想要的结果是

╔═══════════════════╦════════════════════╦════════════╗
║ First_Primary_Key ║ Second_Primary_Key ║ Data       ║
╠═══════════════════╬════════════════════╬════════════╣
║ 1                 ║ 4                  ║ Bla,bla,bla║
║ 2                 ║ 7                  ║ Bla,bla,bla║
║ 3                 ║ 8                  ║ Bla,bla,bla║
║ 4                 ║ 12                 ║ Bla,bla,bla║
╚═══════════════════╩════════════════════╩════════════╝

结构应该是这样的:

select * from foo  
where (distinct First_Primary_Key) and max(Second_Primary_Key)

select First_PK, max(Second_PK) from foo group by First_PK

为了获取数据,我更喜欢使用窗口函数:

; with temp as (
 select row_number() over (partition by First_PK order by Second_PK desc)
   as row_num, First_PK, Second_PK, data
 from test)
 select * from temp
 where row_num = 1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何选择不同于复合主键表 的相关文章

  • SQL 查询用于计算每个客户的订单数量和总金额

    我有两张桌子Order与列 OrderID OrderDate CID EmployeeID And OrderItem与列 OrderID ItemID Quantity SalePrice 我需要返回客户 ID CID 每个客户的订单数
  • SQL Join 列上类似于另一列[重复]

    这个问题在这里已经有答案了 可能的重复 mysql连接查询使用like https stackoverflow com questions 1930809 mysql join query using like 我想要进行连接 其中一列包含
  • T-SQL:用最新的非空值替换 NULL 的最佳方法?

    假设我有这张表 id value 1 5 2 4 3 1 4 NULL 5 NULL 6 14 7 NULL 8 0 9 3 10 NULL 我想编写一个查询来替换任何NULL值与表中最后一个不为空的值在那一栏里 我想要这个结果 id va
  • Oracle:如何获取刚刚插入的行的序列号?

    如何获取刚刚插入的行的序列号 插入 返回 declare s2 number begin insert into seqtest2 x values aaa returning seq into s2 dbms output put lin
  • 通过 osql.exe 运行脚本时出现问题

    我尝试以这种格式运行我的软件的更新脚本 osql exe i path to script U 用户 P 密码 S sqlserver 位置 d 数据库名称 n b 大多数脚本的格式相同 并且都以 GO 结尾 其中很多都运行得很好 但随机脚
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • 什么时候应该使用 C++ 而不是 SQL?

    我是一名 C 程序员 偶尔使用 MySQL 来处理数据库 但我的 SQL 知识相当有限 但我肯定愿意改变这一点 目前 我正在尝试仅使用 SQL 查询对数据库中的数据进行分析 但我准备放弃了 转而将数据导入到C 中 用C 代码进行分析 我和同
  • 如何将 数组传递给存储过程

    我有一个清单索赔数据在 C 中 它有三个项目 日期 类型和描述 其中可以有多行 如下所示 索赔数据 Date Type Description 01 02 2012 Medical Its a medical 05 02 2013 Thef
  • 意外的查询结果

    为什么我从 sql server 得到以下结果 SELECT 12 C1 CONVERT int C2 CASE WHEN THEN equal ELSE not equal END C3 Sql Server Fiddle 演示 http
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • H2 用户定义的聚合函数 ListAgg 不能在第一个参数上使用 DISTINCT 或 TRIM()

    所以我有一个 DB2 生产数据库 我需要在其中使用可用的函数 ListAgg 我希望使用 H2 的单元测试能够正确测试此功能 不幸的是H2不直接支持ListAgg 但是 我可以创建一个用户定义的聚合函数 import java sql Co
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • 数字表与递归 CTE 生成一系列数字

    为什么使用数字表比使用递归 CTE 动态生成它们要快得多 在我的机器上 给定一张桌子numbers单列n 主键 包含从1到100000的数字 查询如下 select n from numbers 大约需要 400 毫秒才能完成 使用递归 C
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • SQL Server 数据库架构版本控制和更新

    对于我的应用程序 我必须支持更新方案 并且数据库可能会受到影响 我希望能够从旧版本更新到最新版本 而无需安装中间版本 例如 假设我有版本 A 最旧的版本 B 中间版本 和 C 新版本 我希望能够将版本 A 直接更新到版本 C 对于应用程序文
  • 从 Sharepoint 到 SQL Server 的实时同步

    我见过许多将 SQL Server 数据同步到 SharePoint 的解决方案 但没有见过将 SharePoint 列表同步到 SQL Server 的解决方案 有谁知道解决方案吗 商业化就好了 或者 我需要编写一个 Web 部件来创建多
  • 想要编写依赖于 SQL Server 表的所有对象的脚本

    查看依赖关系 显示依赖于 SQL Server 中的表的所有对象 现在 我如何使用 SSMS 在一个命令中编写所有这些对象的脚本 有没有免费的工具可以做到这一点 首先你可以尝试这个链接了解 SQL 依赖关系 http msdn micros
  • 我是否需要在外键上指定 ON DELETE NO ACTION?

    我有以下与 SQL Server 2012 一起使用的 DDL CREATE TABLE Subject SubjectId INT IDENTITY 1 1 NOT NULL Name NVARCHAR 50 Not NULL CONST
  • 是否可以引用同一个表中的不同列?

    如果博客有一个 类别 表 如下所示 CREATE TABLE categories id INTEGER PRIMARY KEY AUTO INCREMENT parent id INTEGER NOT NULL name VARCHAR

随机推荐

  • Numpy loadtxt 编码

    我正在尝试使用 numpy loadtxt 加载数据 我试图读取的文件使用 cp1252 编码 是否可以使用 numpy 将编码更改为 cp1252 下列 import numpy as np n 10 myfile path to myf
  • 如何使用 CLI 命令更改 GCP 中的项目

    如何将当前正在运行的项目更改为 GCP 中的另一个项目 谷歌云平台 帐户使用命令行界面命令除了使用之外gcloud init手动 gcloud projects list将列出我的帐户上运行的项目 我想使用 cli 命令将当前项目更改为列表
  • 获取变换后旋转物体的宽度和高度

    这个问题是问题的后续 变换后的宽度 高度 https stackoverflow com questions 7565542 width height after transform 我发布一个新问题 因为该问题仅解决宽度而不是高度 公式
  • Google 地图顶部的网格会产生正方形间隙

    我有这个函数可以在谷歌地图上生成一个网格 var map var gribBlockSize 1000 LOCATION MELB var startingLatLng new google maps LatLng 37 686997575
  • Angular Material 日期选择器位置错误(Chrome 除外)

    我正在使用角材料和md datepicker在我的项目中 我有一个表单 包含几个输入和
  • Video.js 下载块而不是整个视频

    我在用着VideoJs https github com videojs video js播放各种视频 有些比其他的大 这是一个简单的场景 开始播放总长度为 100mb 持续时间为 10 分钟的视频 如果用户跳到第 2 分钟 则会调用后端来
  • 具有相互计数的搜索列表(第二次尝试)

    我创建了新的数据集来解释我想要的结果 这是link http console neo4j org r dxwc8z 或者您可以使用 cypher 触发此命令 create 6 UserName dhansukh UserProfileID
  • RichTextBox高级编辑

    我想在我正在使用的 RichTextBox 中使用高级编辑功能 例如 粗体 斜体 下划线 字体颜色 我想知道如何获得一个显示在 RichTextBox 顶部且具有这些功能的工具栏 我想知道是否有任何内置功能提供此功能 或者我是否必须自己创建
  • 添加“auth:api”中间件 Laravel 5.3 后找不到路由

    我正在尝试使用 laravel 5 3 中的新 oauth2 功能从我的一个 laravel 项目到另一个项目进行 api 调用 我的新 Laravel 项目的 api php 路由文件中有这条路由 我想从旧项目中调用它 Route get
  • 以编程方式导航:React Router V4+ Typescript 给出错误

    使用 React Router v4 和 Typescript 以编程方式导航时出错 类型 Readonly 和 Readonly 我想在 API 调用成功或失败时重定向到特定路径 但无法做到这一点 路由器代码 import Browser
  • 如何使用R中的并行处理来分析大型时间序列数据集

    我有一个大型时间序列数据集 使用顺序处理通常需要 4 小时才能处理 1800 个时间序列 我正在寻找一种使用多个核心来减少这个时间的方法 因为我有许多这样的数据集需要定期处理 我用于顺序处理的 R 代码如下 有4个文件包含不同的数据集 每个
  • 如何访问DRF中ListSerializer父类的serializer.data?

    我在尝试访问时遇到错误serializer data在将其返回之前Response serializer data status something 尝试获取字段值时出现 KeyError
  • 无法将 facebook 插件与 Ripple 模拟器一起使用

    我正在尝试使用波纹模拟器运行 facebook 插件 简单示例 我已经包含了 facebook js sdk js 和 cdv plgin js 和 cardova js config xml如下
  • 帮助使用 rgl 包

    我使用选项 disable libpng 安装了 rgl 软件包 我尝试生成 3d 散点图 但它崩溃了 请帮我解决这个问题 这是我正在运行的代码 library rgl open3d x lt sort rnorm 1000 y lt rn
  • 重要术语会导致 CircuitBreakingException

    我有一个中等大小的 Elasticsearch 索引 1 46T 或 1e8 文档 它在 4 台服务器上运行 每台服务器都有 64GB RAM 在弹性和操作系统之间均匀分配 用于缓存 我想尝试新的 重要术语 聚合 所以我触发了以下查询 qu
  • 在 Flask 中扩展蓝图,将其拆分为多个文件

    在烧瓶中 我有一个有点太长的蓝图 我想使用相同的路线将其分成几个文件 games 我尝试延长课程时间 但不起作用 games py from flask import Blueprint bp Blueprint games name ur
  • 访问字典的键/值

    如何访问字典的键 值 我有这个代码 Try If keystrokeDictionary ContainsKey letter Then keystrokeDictionary Keys Equals letter End If Catch
  • 如何改变字段的类型?

    我正在尝试从 mongo shell 中更改字段的类型 我正在做这个 db meta update fields properties default type 1 fields properties default type 2 但这不起
  • 如何检查特定 URL 处是否存在文件?

    如何检查网站上是否存在文件 我在用NSURLConnection和我的NSURLRequest and an NSMutableData对象存储返回的内容didReceiveData 委托方法 在里面connectionDidFinishi
  • 如何选择不同于复合主键表

    我想了解如何过滤掉select来自具有两个主键的 SQL 表 如下所示 First Primary Key Second Primary Key Data 1 1 Bla bla bla 1 2 Bla bla bla 1 3