求助,请问如何用SQL语句实现这样的要求?

来源:百度知道 编辑:UC知道 时间:2024/06/07 01:07:46
表结构大致如下:
ID ConID Flag State
1 1 0 0
2 2 0 1
3 2 2 0

希望通过SQL语句从原表中查询得到以下结果:
ID ConID Flag State
1 1 0 0
3 2 2 0

需求为:如果ConID唯一,则取出该条数据。如果ConID重复,则取出ID较大的一列数据。
另:ID为自动标识列。

SQL语句应该如何写才能从原表中查询到这样需求的数据呢?
谢谢大家。。。

select *
from table
where id in (select max(id) from table group by ConID)

楼上的还是不错的:
select * from 表名 where id in (select max(id) from 表名 group by UserFlag)
where 子句后面的就是“如果ConID唯一,则取出该条数据”
括号内部就是你要的“如果ConID重复,则取出ID较大的一列数据。”

下面这个经理五级的说的是对的,可以采纳为答案