Sql 第一次接触解析

Sql 第一次接触解析,sql,db2,teradata,Sql,Db2,Teradata,我在DB2中有一组电话呼叫数据。我的利益相关者要求我提供一份报告,说明在上次通话后24小时内没有回过电话的客户 如果您不太忙,可以给出一些关于如何在DB2中实现这一点的想法。我还可以将数据导入SAS、MySQL或Teradata。 数据如下所示: Date/Time Call_ID_PK Customer_ID_FK 2020-06-24 10:57:34 1154171YUY 11111111 2020

我在DB2中有一组电话呼叫数据。我的利益相关者要求我提供一份报告,说明在上次通话后24小时内没有回过电话的客户

如果您不太忙,可以给出一些关于如何在DB2中实现这一点的想法。我还可以将数据导入SAS、MySQL或Teradata。 数据如下所示:

Date/Time Call_ID_PK Customer_ID_FK 2020-06-24 10:57:34 1154171YUY 11111111 2020-06-24 11:02:21 2675765HGH 71766443 2020-06-24 11:12:45 3687677GFR 67884833 2020-06-24 11:17:03 4876876HGD 36733633 2020-06-24 11:19:22 4967867GFG 55672446 2020-06-25 09:10:57 7755555DSW 11111111 2020-06-25 09:12:43 7958755HUE 76876258 日期/时间呼叫\u ID\u PK客户\u ID\u FK 2020-06-24 10:57:34 1154171YUY 11111 2020-06-24 11:02:21 2675765HGH 71766443 2020-06-24 11:12:45 3687677GFR 67884833 2020-06-24 11:17:03 4876876HGD 36733633 2020-06-2411:19:22 4967867GFG 55672446 2020-06-25 09:10:57 7755555DSW 11111111 2020-06-25 09:12:43 7958755色调76876258 祝你有美好的一天


Cameron

您可以在Teradata中执行类似操作:

选择customer\u id\u fk,MAX(call\u timestamp)作为LastCall
从MyTable
按客户分组\u id\u fk

使用MAX(call_timestamp)可以在Teradata中执行以下操作:

选择customer\u id\u fk,MAX(call\u timestamp)作为LastCall
从MyTable
按客户分组\u id\u fk

有了MAX(call_timestamp),你似乎误解了StackOverflow的概念。请理解这是一个程序员社区,帮助程序员解决他们在尝试实现时遇到的特定编程问题。与此相反,您在这里要求的是一个解决方案,而不是演示您尝试了什么,解释您遇到的问题,并报告您所做的研究和调试。谢谢,但我真的被这一点困住了,无法理解从何处开始的逻辑。我的第一个想法是将其全部导入临时表,然后与24小时后刷新的表相比,选择不在该表中的所有客户。但我看不出这是有效的。我不想让任何人为我写剧本。我只是想提出一些想法。我写SQL已经7年了,这让我很困惑。这个表包括了打过电话的用户。我们需要一个包含完整用户群的表来确定缺少的用户。请添加该表。查看
不在
外部连接
语言元素。包括您的db2平台和版本。您似乎误解了StackOverflow的概念和概念。请理解这是一个程序员社区,帮助程序员解决他们在尝试实现时遇到的特定编程问题。与此相反,您在这里要求的是一个解决方案,而不是演示您尝试了什么,解释您遇到的问题,并报告您所做的研究和调试。谢谢,但我真的被这一点困住了,无法理解从何处开始的逻辑。我的第一个想法是将其全部导入临时表,然后与24小时后刷新的表相比,选择不在该表中的所有客户。但我看不出这是有效的。我不想让任何人为我写剧本。我只是想提出一些想法。我写SQL已经7年了,这让我很困惑。这个表包括了打过电话的用户。我们需要一个包含完整用户群的表来确定缺少的用户。请添加该表。查看
不在
外部连接
语言元素。包括您的db2平台和版本感谢您花时间回复:)这非常有帮助。另一张桌子会很棘手。有超过1700万的客户。没问题,很高兴它有帮助。查询本身并不复杂——您可以这样做:
SELECT。。。从u向左加入u.userid=c.customer\u id\u fk GROUP BY…
。这将获取所有用户及其呼叫信息(如果有)。但是有1700万行,如果索引不正确,可能需要一些时间。谢谢你花时间回复:)这很有帮助。另一张桌子会很棘手。有超过1700万的客户。没问题,很高兴它有帮助。查询本身并不复杂——您可以这样做:
SELECT。。。从u向左加入u.userid=c.customer\u id\u fk GROUP BY…
。这将获取所有用户及其呼叫信息(如果有)。但对于1700万行,如果索引不正确,可能需要一些时间。