Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL来获取每个用户的最新记录_Sql - Fatal编程技术网

SQL来获取每个用户的最新记录

SQL来获取每个用户的最新记录,sql,Sql,我试着思考如何概括我的问题,但就是想不出什么(这也许就是为什么我谷歌还没有提供解决方案的原因) 因此,我将我的问题放在一个用户表和一个评论表中,我想在其中获得每个用户的最新评论 用户 | ID | NAME | ------------- | 01 | BOB | ------------- | 02 | JEN | ------------- | EMP_ID | UPDATED | ----------------------- | 01 | 12/05/2011 |

我试着思考如何概括我的问题,但就是想不出什么(这也许就是为什么我谷歌还没有提供解决方案的原因)

因此,我将我的问题放在一个用户表和一个评论表中,我想在其中获得每个用户的最新评论

用户

| ID | NAME |
-------------
| 01 | BOB  |
-------------
| 02 | JEN  |
-------------
| EMP_ID | UPDATED    |
-----------------------
| 01     | 12/05/2011 |   <== I WANT THIS
-----------------------
| 01     | 11/29/2011 |
-----------------------
| 02     | 12/01/2011 |   <== ...AND THIS
-----------------------
| 02     | 11/27/2011 |
评论

| ID | NAME |
-------------
| 01 | BOB  |
-------------
| 02 | JEN  |
-------------
| EMP_ID | UPDATED    |
-----------------------
| 01     | 12/05/2011 |   <== I WANT THIS
-----------------------
| 01     | 11/29/2011 |
-----------------------
| 02     | 12/01/2011 |   <== ...AND THIS
-----------------------
| 02     | 11/27/2011 |
…它可以工作,但速度非常慢

(我们使用的是DB2,因此我可以使用公共表)


这里的一个潜在问题是,当一个用户在同一天有一条以上的评论作为他们最近的评论。可以解决该问题,但需要提供如何确定所需行的标准。上面的查询将在最近的评论日期为每个评论提供一行。太糟糕了,它不是一个日期时间字段…

再次感谢Chris-我考虑了你的方法,但最后我再次查看了我在原始SQL中采用的方法。我在问题中包含的SQL大大简化了。实际上,我有三个连接和相当大的where子句


当我仔细考虑where子句时,我发现相关子查询方法实际上非常快,当我确保子查询与外部查询相关时,它会在一个结果集上执行,该结果集通过过滤大大减少。

如果您发布代码、XML或数据样本,请在文本编辑器中突出显示这些行,然后单击编辑器工具栏上的“代码示例”按钮(
{}
),以很好地格式化和语法突出显示它!可能是克里斯的复制品谢谢-我会调查的。(我的用户/评论是对真实情况的简化——实际上我处理的是一个datetime字段!)我会让你知道它是如何进行的。