SQL - GROUP BY 和 COALESCE 的丑陋组合

2023-11-25

我有一个包含类似于以下数据的表:

[ID]、[状态]、[foo]、[创建日期]、[更新日期]

我处理这个问题的时间越长,我的 SQL 就越难看,这告诉我我可能做错了什么。我想要的是每个状态的唯一列表,只要 foo 对于该状态始终相同(如果 foo 对于该州的所有记录都不相同,则我根本不想要该州)。另外,我想合并 DateCreated 和 DateUpdated 并想要该状态的最大值。

所以给出这个数据:

[ID], [State], [foo], [DateCreated], [DateUpdated]
1,  MA, data1,  05/29/2012, 06/02/2012
2,  MA, data1,  05/29/2012, 06/03/2012
3,  RI, data2,  05/29/2012, NULL
4,  RI, data3,  05/29/2012, NULL
5,  NH, data4,  05/29/2012, NULL
6,  NH, data4,  05/29/2012, 06/05/2012

我只想要这些结果:

[State], [foo], [LastUpdated]
MA, data1,  06/03/2012
NH, data4,  06/05/2012

获得我想要的东西的最优雅的方式是什么?


另一个:

http://sqlfiddle.com/#!6/fd219/1

SELECT
  t.State,
  MAX(t.foo),
  MAX( COALESCE( t.DateUpdated, t.DateCreated ))
FROM t
GROUP BY t.State
HAVING COUNT(DISTINCT t.foo) = 1;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL - GROUP BY 和 COALESCE 的丑陋组合 的相关文章

  • 更新 SQLAlchemy 中的特定行

    我将 SQLAlchemy 与 python 一起使用 我想更新表中等于此查询的特定行 UPDATE User SET name user WHERE id 3 我通过 sql alchemy 编写了这段代码 但它不起作用 session
  • 每行中非空列的计数

    我有一个包含 4 列的表 在第 5 列中我想存储前 4 列中有多少个非空列的计数 例如 其中 X 是任意值 Column1 Column2 Column3 Column4 Count X X NULL X 3 NULL NULL X X 2
  • MySQL 最佳实践:SELECT 子递归尽可能提高性能?

    我想选择一个根项目及其子项 使其性能尽可能高 我更喜欢使用嵌套集模型 但这次表结构遵循邻接模型 有关嵌套集和邻接模型的更多信息 http mikehillyer com articles managing hierarchical data
  • SQL命令文本到DataSet的直接方法

    如果我有 sql 命令 获取数据集的最直接途径是什么 string sqlCommand SELECT FROM TABLE string connectionString blahblah DataSet GetDataSet sqlCo
  • Sql Server 的夏令时

    我们正在使用一个以 C Unix 格式存储日期的旧应用程序 C 时间基本上是自 1970 年 1 月 1 日以来的秒数 日期以整数形式存储在 SQL Server 数据库中 我正在为使用这些日期的报告编写视图 到目前为止 我正在使用以下命令
  • Postgres LIMIT/OFFSET 奇怪的行为

    我正在使用 PostgreSQL 9 6 我有一个这样的查询 SELECT anon 1 id AS anon 1 id anon 1 is valid AS anon 1 is valid anon 1 first name AS ano
  • 使用转义换行符和回车符取消转义字符串

    我正在尝试编写一个 PLPGSQL 函数来混淆 审查 编辑文本 Obfuscate a body of text by replacing lowercase letters and numbers with symbols CREATE
  • 如何连接子查询的第一行?

    我有一个发票表和一个按键关联的相关数据的子表 特别是 对于每张发票 我只对子表中的第一个相关行感兴趣 鉴于我想要每个发票键都有一个相关行 我该如何实现这一点 Select i Invoice Number c Carrier Name Fr
  • 与 SQL 中的 IN 运算符相反

    我怎么能做相反的事情 换句话说 选择所有姓氏不是 Hansen 或 Pettersen 的人 WHERE lastname NOT IN Hansen Pettersen 请参阅 IN 和 NOT IN 运算符 部分SQLite 所理解的
  • nvarchar 值“3001822585”的转换溢出了 int 列

    我使用以下方法将 Excel 文件导入到 SQL Server Excel 文件将所有值作为字符串 我可以导入文件 除了Barcode SalePrice and Price2 我收到错误 nvarchar 值 3001822585 条形码
  • 如何在 PostgreSQL 中使用条件和子查询创建唯一索引?

    我使用 PGSQL 并尝试添加下面的索引 CREATE UNIQUE INDEX fk client ON user client fk client WHERE fk client NOT IN SELECT fk client FROM
  • 在 SQL 中按键组对行进行顺序编号?

    SQL中有没有办法按顺序添加行号按关键组 假设一个表包含任意 CODE NAME 元组 示例表 CODE NAME A Apple A Angel A Arizona B Bravo C Charlie C Cat D Dog D Dopp
  • SQL 约束最小值/最大值?

    有没有办法为数字字段设置 SQL 约束 最小值应为 1234 最大值应为 4523 SQL Server 语法为the check约束 http technet microsoft com en us library ms179491 as
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • 如何计算 Postgres 上图表中所有连接的节点(行)?

    我的桌子有account id and device id One account id可以有多个device ids 反之亦然 我正在尝试计算每个连接的多对多关系的深度 Ex account id device id 1 10 1 11
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • Spring Data JPA 选择不同

    我有一个情况 我需要建立一个select distinct a address from Person a 其中地址是 Person 内的地址实体 类型的查询 我正在使用规范动态构建我的 where 子句并使用findAll Specifi
  • 自动删除主键序列中的间隙

    我正在创建一个网页 该网页根据用户操作将数据存储到 MySQL 数据库中 数据库有很多行 行的主键是列 rowID 它只是按顺序对行进行编号 例如 1 2 3 4 用户可以选择删除行 问题是当用户删除最后一行以外的行时 rowID 中有一个
  • Python Pandas:如何对组中的所有项目进行分组并为其分配 id?

    我有 df domain orgid csyunshu com 108299 dshu com 108299 bbbdshu com 108299 cwakwakmrg com 121303 ckonkatsunet com 121303
  • SQL Server 2008 错误 233

    我正在使用以下 sql 脚本在 SQL Server 2008 中创建新登录名 CREATE LOGIN xyz WITH PASSWORD xyz DEFAULT DATABASE master DEFAULT LANGUAGE us e

随机推荐

  • Python如何从文件中读取原始二进制文件? (音频/视频/文字)

    我想读取文件的原始二进制文件并将其放入字符串中 目前 我正在打开一个带有 rb 标志的文件并打印字节 但它显示为 ASCII 字符 对于文本 即视频和音频文件 它给出符号和乱码 如果可能的话 我想得到原始的 0 和 1 这也需要适用于音频和
  • Delphi函数像Windows一样显示字节数

    这是一个简单的问题 我认为 是否有一个系统内置函数 或者某人创建的可以从 Delphi 调用的函数 它将显示多个字节 例如文件大小 就像 Windows 在文件属性框中显示的方式一样 例如这是 Windows 属性框显示各种尺寸的方式 53
  • .Net 数组的 LongLength 的目的是什么?

    Net 中数组的 LongLength 属性的用途是什么 使用标准整数作为长度 最多可以容纳 20 亿个索引 真的有人使用 Net 来维护包含超过 20 亿个元素的单个数组吗 即使每个元素都是一个字节 那仍然是 2 GB 的数据 在 Net
  • 错误:加载块 0 失败。 - webpack 尝试加载 0.js

    我有以下项目结构 mainFile js scripts Library1 js Library2 js 库文件使用requirejsdefine function syntax 因此 我将其放入 webpack config js 中 m
  • 如何从 json 创建表列和字段? (动态网格)

    我有一个 json 文件 我假设我对内容一无所知 我不知道型号 然而 json 文件中给出了模型 数据和有关网格的其他信息 我将如何以这种方式创建列等 Stackoverflow 上充斥着与此非常相似的问题 我研究了所有这些 但没有找到明确
  • java7 / Rhino 中编译和解释的 javascript 的性能

    我对 Java7 中的 Rhino javascript 引擎的性能有一个问题 很快 我的脚本 解析和编译文本 在 Chrome 中的运行速度比 Java7 Rhino 脚本引擎中的运行速度大约快 50 100 倍 我试图找到改善这种情况的
  • Spring Security:抛出 LockedException 而不是 BadCredentialsException,为什么?

    使用 Spring Security 4 0 2 RELEASE 对于使用 spring security 框架的基本用户身份验证 我实现了 spring securityDaoAuthenticationProvider 当用户尝试使用正
  • 通过进度条显示执行进度

    我有一个愚蠢的问题 但我被困住了 我正在从我的代码中执行存储过程 过程需要时间 因此我显示一个进度条 它显示执行的进度 但是存储过程执行并且没有任何内容可以增加进度条的值 这是我的代码 void btnYes Click object se
  • 如何使用 ReSharper 创建 NUnit 测试?

    我正在尝试使用 C 进行单元测试 很多人告诉我使用 NUnit 因为它比 MSTest 更好 显然 我不知道 而且它在我正在使用的 ReSharper 中也有很好的支持 现在我以前从未编写过单元测试 请耐心等待 我是一名大学生 ReShar
  • 无法在“ServiceWorker”上执行“postMessage”:无法克隆函数

    我正在尝试向服务工作者实例发布消息 我收到以下错误 无法在 ServiceWorker 上执行 postMessage function obj removeListener ev fn 无法克隆 我的代码如下 var socket io
  • GKE Nginx Ingress Controller 前面的全局负载均衡器(HTTPS 负载均衡器)

    我有一个 GKE 集群 它使用 Nginx Ingress Controller 作为其入口引擎 目前 当我设置 Nginx Ingress Controller 时 我定义了一个服务kind LoadBalancer并将其指向先前在 GC
  • 对 RGB 图像使用特征数组数组

    我正在尝试使用 Eigen 库进行一些简单的图像处理 我将使用 Array3f 作为 RGB 三元组 并使用 Array 来保存 RGB 图像 这似乎部分有效 我可以方便地对图像进行组件式加法 乘法和除法 但某些操作 特别是涉及减法或求反
  • 是否可以为 python 创建嵌套虚拟环境?

    在处理一些自动化脚本时 我发现需要有一些可用于所有脚本的通用包 例如ipython and spyder 并仅安装每个脚本的差异包 我们称之为差异包 有没有办法在Python中嵌套虚拟环境 也就是说 通过某种方式设置环境 以便 python
  • 如何在C++中使用clock()

    我怎么打电话clock in C 例如 我想测试线性搜索在数组中查找给定元素需要多长时间 include
  • Typescript 将所有日期从接口转换为字符串

    是否可以全部改造Date类型定义从我的接口到string 因为它会自动转换为string关于 JSON 字符串化 interface Item key string value number created Date const item
  • 如何上传JAR到Nexus OSS 3?

    如何通过以下方式执行 jar 的上传curlNexus 3 我尝试使用链接提示但没有成功 这是我的尝试 curl v F r F releases hasPom true and F jar F file v12 1 0 1 pom xml
  • 查找已调用弹出菜单的 JTable 行

    我有一个 JTable 和一个特定于每一行的弹出菜单 我想计算用户右键单击鼠标 Windows L F 以调出弹出菜单的行 我为表创建了一个 MouseListener 因此它可以在单击时获取 MouseEvent 并在正确的位置显示弹出菜
  • 更改主详细信息导航xamarin表单中的汉堡图标

    我正在处理 Xamarin 表单 我需要在成功登录屏幕后显示主详细信息导航 我想更改默认的汉堡包图标 但无法更改它 请参阅下面我正在使用的代码 由于我的应用程序有登录屏幕 因此我不想在登录屏幕上显示任何导航 我只是将主页设置为app xam
  • ASP.NET MVC Controller.OnException 未被调用

    我有一个基本控制器类 我在其中重写 Controller OnException 处理程序方法 以便为将从此类继承的某些类型的控制器 这些是将返回 JSON 结果的 API 控制器 提供通用错误处理 当控制器引发异常时 永远不会调用 OnE
  • SQL - GROUP BY 和 COALESCE 的丑陋组合

    我有一个包含类似于以下数据的表 ID 状态 foo 创建日期 更新日期 我处理这个问题的时间越长 我的 SQL 就越难看 这告诉我我可能做错了什么 我想要的是每个状态的唯一列表 只要 foo 对于该状态始终相同 如果 foo 对于该州的所有