用Partition by 分组查询的问题

t101lian 2016-03-21 10:20:39
 select  * from  (
select ROW_NUMBER() over( Partition by name order by createTime)
as num ,* from [user]
) a where num =1


这是最开始的查询,现在想加一个条件,存在相同name的才取出第一条。比如里面只有一个叫张三的,
那这条数据就不查询出来。改怎么查?在线等
...全文
162 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
t101lian 2016-03-21
  • 打赏
  • 举报
回复
引用 2 楼 spiritofdragon 的回复:
select  * from  (
select 
ROW_NUMBER() over(  Partition by  name order by createTime) as num 
,count(1) over(  Partition by  name ) as cnt 
,* from  [user] 
) a  where num =1 and cnt >1
count(1) over( Partition by ,, 学习了。 原来还可以这样用。
spiritofdragon 2016-03-21
  • 打赏
  • 举报
回复
select  * from  (
select 
ROW_NUMBER() over(  Partition by  name order by createTime) as num 
,count(1) over(  Partition by  name ) as cnt 
,* from  [user] 
) a  where num =1 and cnt >1
卖水果的net 2016-03-21
  • 打赏
  • 举报
回复
在语法上看,不出现这样的情况,你提供一些测试数据出来;

27,579

社区成员

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

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