大佬教程收集整理的这篇文章主要介绍了从彼此不同的特定列中获取结果,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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,请注明来意。