日期:2014-05-17  浏览次数:20427 次

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


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

结果如下图

求SQL语句。。。完全没思路。。。各路大神素来~~

------解决方案--------------------
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 )

------解决方案--------------------
这样行吗
select a,b,c,d,min(status),min(ida),min(idb) from table1
group by a,b,c,d
------解决方案--------------------
SELECT *
FROM (
SELECT *
,ROW_NUMBER() OVER (PARTITION BY IDB ORDER BY IDA) AS NUM
FROM TB
) T WHERE NUM=1