求大家写一条SQL语句

起个名字忒难 2017-11-22 03:08:36


如图所示,我想要得到每一个客户跟进时间最小的那一条记录该如何写SQL语句

我像这样写但是得到的结果不对
*select b.客户,min(b.跟进时间),b.转化时长
from
(select 客户,跟进时间,转化时长 from temp where 更新客户状态 not in('陌生','再次销售')) as b group by b.客户,b.转化时长
...全文
170 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2017-11-22
  • 打赏
  • 举报
回复
;WITH cte AS (
	SELECT [客户],
			min([跟进时间]) as [最小跟进时间]
	FROM   temp b
	WHERE  [更新客户状态] NOT IN ('陌生', '再次销售')
	GROUP BY b.[客户]
)
SELECT  
	[客户]
	,[最小跟进时间]
	,(SELECT TOP 1 [转化时长] FROM temp a WHERE a.[客户]=b.[客户] and a.[跟进时间]=b.[最小跟进时间]) as [转化时长]
FROM cte b
二月十六 2017-11-22
  • 打赏
  • 举报
回复
试试这样
;WITH cte AS (
SELECT 客户 ,
跟进时间 ,
转化时长
FROM temp
WHERE 更新客户状态 NOT IN ( '陌生', '再次销售' )
),cteb AS (
SELECT b.客户 ,
MIN(b.跟进时间) AS 跟进时间
FROM cte AS b
GROUP BY b.客户
)
SELECT cte.*
FROM cteb
JOIN cte ON cte.客户 = cteb.客户
AND cte.跟进时间 = cteb.跟进时间

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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