Hive(查找连续 n 列中的最小值)

2024-04-26

我在 Hive 中有一个表,有 5 列,即电子邮件、a_first_date、b_first_date、c_first_date、d_first_date。

a、b、c、d 是用户可以执行的 4 个不同操作,上表中的 4 列表示用户执行第一个相应操作的日期。例如,值在'a_first_date'包含用户执行操作 a 的日期。

输出:我想要的是包含电子邮件的 2 列,overall_first_date 即用户在哪一天执行了第一次操作?

示例表:(假设除电子邮件之外的所有值都是 BIGINT 类型)

电子邮件、a_first_date、b_first_date、c_first_date、d_first_date
abc,20140707,20140702,20140801,20140907
xyz,20140107,20140822,20140201,20141007

Output:

电子邮件、总体首次日期
abc,20140702
xyz,20140107

可能的解决方案是编写 UDF 或使用 IF ELSE 将这些值相互比较,然后找到最小值,但这会涉及大量比较。

或者我可以做:

select email, min(action) as overall_first_date from

(
select email, a_first_date as action from mytable
UNION ALL
select email, b_first_date as action from mytable
UNION ALL
select email, c_first_date as action from mytable
UNION ALL
select email, d_first_date as action from mytable
) q1

GROUP BY email 

但这又不是一个好方法。

谁能建议一个更好的方法来实现这一目标?


使用函数least()。 例如; 选择*、least(col1,col2,col3)作为minofcol 来自表名;

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

Hive(查找连续 n 列中的最小值) 的相关文章

  • 有用的库存 SQL 数据集吗?

    有谁知道有哪些资源可以提供优质 有用的股票数据集 例如 我下载了一个包含美国所有州 城市和邮政编码的 SQL 脚本 这在最近的一个应用程序中节省了我很多时间 我希望能够按地理位置进行查找 你们中有人知道其他可以免费下载的有用数据集吗 例如
  • MySQL SUM 具有相同的 ID

    抱歉 这个真正简单的问题 我刚刚学习 PHP 和 MySQL 我已经在谷歌上搜索了一个多星期 但没有找到任何答案 我创建了一个简单的财务脚本 表格如下 table a aid value 1 100 2 50 3 150 table b b
  • hadoop2.2.0追加文件发生AlreadyBeingCreatedException

    我遇到了一个关于hadoop2 2 0追加操作的问题 我通过 HDFS java API 将一些字节附加到 hdfs 文件 首先 如果在附加操作之前文件不存在 我将创建目标文件 代码如下 String fileUri hdfs hadoop
  • Hadoop安装问题:

    我跟着this http www bogotobogo com Hadoop BigData hadoop Install on ubuntu single node cluster phpHadoop 安装教程 不幸的是 当我运行全部启动
  • mysql 查询从给定的表结构创建 SEO 友好的 url

    我正在尝试使用下表创建 SEO 友好的 URL 类别表 http sqlfiddle com 2 c474a 4 页表 http sqlfiddle com 2 c474a 5 我正在尝试编写一个 mysql 查询 该查询将使用产生以下输出
  • 非聚合查询内部的聚合情况

    我有一个相当大的查询 其最简单的形式如下所示 select r rep id u user id u signup date pi application date pi management date aum from table1 r
  • SSIS ODBC SQL 参数

    我在 odbc 源数据流任务中有一个 SQL 命令需要采用参数 但不存在添加参数的选项 我尝试将数据库添加为与 ODBC 提供程序的 ADO NET 连接 但也没有可用的参数 还尝试将其作为 OLEDB 连接 但没有可用于 ODBC 的提供
  • LINQ Group By 投影成非匿名类型?

    我有以下 LINQ 示例 var colorDistribution from product in ctx Products group product by product Color into productColors select
  • 如何将 SQL 参数中的字符串数组传递给 SQL 中的 IN 子句

    我正在以复杂的方式做一个逻辑 我只需要在存储过程中执行此查询 select Sizes SUM Quantity from tbl SizeBreakup where Brand brand and Combo in 1 2 我必须在 C
  • 为什么 Redshift 不需要物化视图或索引?

    In the 红移常见问题解答 https aws amazon com redshift faqs under 问 与大多数用于数据仓储和分析的传统数据库相比 Amazon Redshift 的性能如何 它说如下 高级压缩 列式数据存储比
  • 选择返回动态列

    我有两个表 标准和服务产品 一个标准可以有多个服务产品 每个标准可以有不同数量的与其关联的服务产品 我需要做的是编写一个视图 该视图将返回一些常见数据 然后在一行上列出服务产品 例如 Standard Id Description SO 1
  • Oracle PL/SQL - NO_DATA_FOUND 异常是否对存储过程性能不利?

    我正在编写一个需要进行大量调节的存储过程 根据 C NET 编码中的常识 异常会损害性能 因此我也始终避免在 PL SQL 中使用它们 我在此存储过程中的调节主要围绕记录是否存在 我可以通过以下两种方式之一进行 SELECT COUNT I
  • 连接2个表区分大小写

    我有 2 个表 需要获取品牌代码的结果 例如 在数据库中 我有两个不同的品牌 但它们的代码是相同的 只有小写和大写不同 例如 代码名称 关于耐克 和阿迪达斯 如何在代码上内连接 2 个表以分别获取这 2 个表 现在 在内连接之后我得到了这
  • Postgres 在转换时函数错误/失败时返回空值

    我正在尝试转换text价值观timestamp价值观 对于下表称为a id c1 1 03 03 2000 2 01 01 2000 3 12 4 1990 4 12 Sept 2011 5 12 1 1999 12 33 12 6 24
  • 如何在MySQL中选择字段具有最小值的数据?

    我想从 MySQL 中的表中选择特定字段具有最小值的数据 我尝试过 SELECT FROM pieces WHERE MIN price 请问有什么帮助吗 这将为您提供所有记录中价格最低的结果 SELECT FROM pieces WHER
  • 在 SQL where 子句中使用带有 IsDate 的 case 语句

    我正在尝试清理以下代码中的 where 子句语句 SELECT CONVERT datetime UTC Time Stamp 127 AS TimeStamp FROM Table WHERE CASE WHEN ISDATE UTC T
  • 从大表中检索所有记录时如何避免 OOM(内存不足)错误?

    我的任务是将一个巨大的表转换为自定义 XML 文件 我将使用 Java 来完成这项工作 如果我只是发出 SELECT FROM customer 它可能会返回大量数据 最终导致 OOM 我想知道 有没有一种方法可以在记录可用后立即处理该记录
  • MYSQL插入GB大小的巨大SQL文件

    我正在尝试创建 Wikipedia DB 副本 大约 50GB 但在处理最大的 SQL 文件时遇到问题 我使用 linux split 实用程序将 GB 大小的文件拆分为 300 MB 的块 例如 split d l 50 enwiki 2
  • SQL 层次结构 - 解析给定节点的所有祖先的完整路径

    我有一个由邻接列表描述的层次结构 不一定有单个根元素 但我确实有数据来识别层次结构中的叶 终端 项 所以 一个看起来像这样的层次结构 1 2 4 7 3 5 6 8 9 将通过表格来描述 就像这样 NOTE 我没有能力改变这种格式 id p
  • 在oracle sql中创建日期差异的自定义函数,排除周末和节假日

    我需要计算两个日期之间的天数decimal 不包括周末和节假日 by 使用自定义函数在 Oracle SQL 中 网站上也有类似的问题 然而 正如我所看到的 它们都没有要求使用自定义函数将输出作为十进制 我需要小数的原因是为了之后能够使用

随机推荐

  • Firestore Flutter 选择不等于和不在[重复]中的位置

    这个问题在这里已经有答案了 是否可以在 flutter firestore 中 选择不等于的地方 类似于 SQL 的东西 SELECT FROM tbl WHERE id 2 选择不在哪里 类似于 SQL 的东西 SELECT FROM t
  • 如何在 Python 中让两只乌龟同时绘图?

    如何让两只乌龟同时画画 我知道如何让海龟画画以及如何画两只或更多 但我不知道如何让它们同时画画 请帮忙 这是使用计时器事件的简约示例 import turtle t1 turtle Turtle shape turtle t2 turtle
  • 如何获取Android股票投资组合中的Web应用程序每10秒NSE市场的股票价格?

    我正在开发股票投资组合的 Android 项目 我想获取每 10 秒运行股票市场的股票价格 以便我可以直接通过 Android 手机进行交易 所以如果你知道的话请帮助我 你的问题有很多变量 您需要以多快的速度访问库存 数据需要有多准确 您正
  • 独特的周期性工作在一段时间后停止执行

    我在我的应用程序中使用 WorkManager API 实现了独特的定期工作 该工作必须每 30 分钟检查一次在线资源 并在有未读通知时显示通知 是的 我需要定期工作 因为资源是 IMAP 服务器 因此我无法使用 FCM 通知 然而 正如我
  • NetBeans 无法在 Maven Web 应用程序上运行 package.json

    我使用 NetBeans 8 2 创建了一个新的 Maven Web 应用程序 我已经放置了一个工作package json文件内的Web Pages文件夹 所以它的路径是 C Users xxx Documents NetBeansPro
  • 如何在CI环境下运行postman的newman?

    我想跑newman在我的 CI 环境 solano ci 上 newman是一个运行邮递员集合中的请求的工具 我有一个newman脚本在我的package json 而且我也有一个npm start启动服务器的脚本localhost 300
  • Perl 中的 Substr,将 utf8 字符切成两半

    我正在尝试解决使用时的问题substr在 Perl v5 8 5 中 这是一个示例字符串 UTF 8 示例 编辑 ff if length hit gt post title gt 60 hit gt post title substr h
  • MySQL from_unixtime 在 2038 年 1 月 19 日之后?

    我们将日期存储为 Unix 时间戳 为了允许用户根据时区设置搜索特定日期 我们在查询中转换该时间戳 以确保搜索 2012 05 03 不会找到上一个 下一个的结果日期取决于用户设置的时区 即如果日期存储为2012 05 03 23 00 U
  • 禁用 jQuery UI 选项卡时遇到问题

    API 表示您无法禁用活动选项卡 我认为这是问题的症结所在 我在一个 UI 选项卡中有六个选项卡 在 ajax 调用根据用户对新 UI Accordion 选择的点击来填充所有选项卡的数据后 其中一个选项卡有时会是空的 每当用户进行新选择时
  • 如何在 Composable 中使用示例数据?

    在 XML 中 我们通过使用以下属性来使用样本名称 日期等 工具 样本 名字 有什么方法我们可以使用类似的示例数据 工具 样本在预览可组合项中 您可以使用 PreviewParameter https developer android c
  • 将简单的单色绘图图像转换为二维文本数组

    我正在尝试开发一种算法 将简单的单线图像 即迷宫 转换为文本二维数组 例如 下面的图像 它将被转换为以下文本数组
  • Solidity ParserError:预期为“;”但得到了“{”

    使用版本0 6 0 pragma solidity 0 6 0 contract Test function sendValue address payable recipient uint256 amount external bool
  • 一般从 boost::variant 转换为类型

    我有一个typedef boost variant
  • 正则表达式:将单词与侵入性符号相匹配

    我试图将所有 单词 与侵入性星号相匹配 包括开头和结尾 但没有其他标点符号 例如 我期待下面的七场比赛 相反 我得到了两个 text star tar s ar st r sta tar sta sta p re compile r b w
  • Android 风格特定的依赖树

    我的 Android 应用程序有多种风格 生产 Staging Review等以及Release and Debug构建类型 当我跑步时 gradlew app dependencies它自然地返回每个风味 构建类型的依赖树 生产发布 生产
  • CSS 中的重叠文本 - 如何更改它?

    我正在尝试更改 css 文件中的重叠元素 文本 一行文本 在常规浏览器中 在移动设备中显示为两行文本 重叠在一起 此更改适用于网站的移动版本 横向平板电脑的 media 部分 目前 标题 h2 文本在 iPad 平板电脑上重叠 来自 h2
  • 自定义菜单快捷键

    I am working on an application that has a Menu on top of it I want to use a different method for shortcut keys being thi
  • chrome和firefox中的getTime结果不同

    我需要转换Date反对timestamp 所以创建新的Date来自日期时间的对象和使用getTime 但它在 Chrome 和 Firefox 中产生不同的结果 这取决于时区 var date new Date 2013 08 26T14
  • C# 对象的事务?

    只是好奇 是否支持普通 C 对象上的事务 喜欢 using var transaction new ObjectTransaction obj try obj Prop1 value obj Prop2 value obj Recalcul
  • Hive(查找连续 n 列中的最小值)

    我在 Hive 中有一个表 有 5 列 即电子邮件 a first date b first date c first date d first date a b c d 是用户可以执行的 4 个不同操作 上表中的 4 列表示用户执行第一个