程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了从彼此不同的特定列中获取结果大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决从彼此不同的特定列中获取结果?

开发过程中遇到从彼此不同的特定列中获取结果的问题如何解决?下面主要结合日常开发的经验,给出你关于从彼此不同的特定列中获取结果的解决方法建议,希望对你解决从彼此不同的特定列中获取结果有所启发或帮助;
SELECT MessageID 
FROM ReadHistory 
WHERE EmployeeNumber = '2230' AND Response <> 'Hang-up' 
GROUP BY MessageID

这是我运行的第一个脚本,我得到了以下结果:

消息ID
5
11
14
16
17

现在我们正在进行更改,我需要对结果进行排序并包含更多列,但脚本已被触发。这是我的脚本。

SELECT disTINCT 
    MessageID,ID,TTCallLogID,TTHourID 
FROM dbo.tblTTP_Messages_ReadHistory 
WHERE EmployeeNumber = '2230' AND Response <> 'Hang-up'
GROUP BY MessageID,TTHourID 
ORDER BY ID DESC

结果:

ID 消息ID TTCallLogID TTourID
241 14 NulL NulL
240 14 NulL NulL
239 16 NulL NulL
238 16 NulL NulL
237 16 NulL NulL
236 16 NulL NulL
235 16 NulL NulL
234 16 NulL NulL
233 16 NulL NulL
232 16 NulL NulL
231 16 NulL NulL

问题:

我只想获得第一个脚本中的 5 个第一个结果,但我考虑了其他字段,以及这个顺序,我该怎么做?

解决方法

您似乎想要每个 MessageID 的最后一行(即 ID 最高的行)。如果是这样,请使用窗口函数,例如MAX OVER

select messageid,ttcalllogid,tthourid
from
(
  select
    messageid,tthourid,id,max(id) over (partition by messageid) as last_id_for_message
  from readhistory 
  where employeenumber = 2230 and response <> 'Hang-up' 
) marked
where id = last_id_for_message;

大佬总结

以上是大佬教程为你收集整理的从彼此不同的特定列中获取结果全部内容,希望文章能够帮你解决从彼此不同的特定列中获取结果所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: