求问一个SQL语句问题。各路大神帮帮忙。。。

x582053774 2013-05-07 05:47:27


IDa 都不一样,IDb是另一张表的外键,我想取IDb一样的情况下,IDa最小的数据。

结果如下图

求SQL语句。。。完全没思路。。。各路大神素来~~
...全文
88 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
dengixnyu 2013-05-07
  • 打赏
  • 举报
回复

select * from (
select min(ColumnIda) over (PARTITION BY ColumnIdb) as newid1,* from table1
)a where a.newid1 = a.ColumnIda order by ColumnIda
「已注销」 2013-05-07
  • 打赏
  • 举报
回复
引用 2 楼 DBA_Huangzj 的回复:
SELECT  *
FROM    tb a
WHERE   EXISTS ( SELECT 1
                 FROM   ( SELECT    comunidb ,
                                    MAX(columnida) columnida
                          FROM      tb
                          GROUP BY  comunidb
                        ) b
                 WHERE  a.columnida = b.columnida
                        AND a.comunidb = b.comunidb )
谢谢大家,已解决!!!此方法可行。。
guguda2008 2013-05-07
  • 打赏
  • 举报
回复
SELECT *
FROM (
SELECT *
,ROW_NUMBER() OVER (PARTITION BY IDB ORDER BY IDA) AS NUM
FROM TB
) T WHERE NUM=1
MrYangkang 2013-05-07
  • 打赏
  • 举报
回复
这样行吗 select a,b,c,d,min(status),min(ida),min(idb) from table1 group by a,b,c,d
發糞塗牆 2013-05-07
  • 打赏
  • 举报
回复
SELECT  *
FROM    tb a
WHERE   EXISTS ( SELECT 1
                 FROM   ( SELECT    comunidb ,
                                    MAX(columnida) columnida
                          FROM      tb
                          GROUP BY  comunidb
                        ) b
                 WHERE  a.columnida = b.columnida
                        AND a.comunidb = b.comunidb )
「已注销」 2013-05-07
  • 打赏
  • 举报
回复
自己顶个!!!!

22,207

社区成员

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

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