求一sql查询语句。类似通话记录表,求某几个号码的最后一次通话记录

itcoco 2012-04-13 10:23:36
有这样的一个表,列有 卡号,目的号码,通话时间。
我现在想查某几个号码这个月的最后一次通话的记录。

如果查单个号码的最后一次记录,我用select top 1 * from tb order by time desc。
请问如果是多个号码如何查询, 除了select top1 * from where sim=(sim1) union (... sim=sim2) ..这样的方式。
...全文
397 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
nwie1 2012-04-14
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

SQL code
SELECT sim, MAX(time)
FROM tb
WHERE SIM IN(SIM1,SIM2,SIM3,...)
GROUP BY sim
[/Quote]

顶一个
menggang9801 2012-04-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

SQL code
SELECT sim, MAX(time)
FROM tb
WHERE SIM IN(SIM1,SIM2,SIM3,...)
GROUP BY sim
ORDER BY time DESC
[/Quote]

顶一个
gogodiy 2012-04-13
  • 打赏
  • 举报
回复
MSSQL2005及以上版本:
;with aaa as
(
select row_number() over(partition by 目的号码 order by 通话时间 desc) as row,*
from table1
)
select * from aaa where row=1 and 目的号码 in (你要查询的号码列表,比如'123','234'...)
itcoco 2012-04-13
  • 打赏
  • 举报
回复
谢谢楼上提供的思路。
APHY 2012-04-13
  • 打赏
  • 举报
回复
SELECT sim, MAX(time)
FROM tb
WHERE SIM IN(SIM1,SIM2,SIM3,...)
GROUP BY sim
ORDER BY time DESC

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧