关键看你有重复记录时,其他字段取哪一个值。select a.* from tablename a join (select field1,max(field2) as field2 from tablename group by field1) c on a.field1=c.field1 and a.field2=c.field2以上,按照field1取不重复记录。重复记录中取field2的最大值那条记录。
关键看你有重复记录时,其他字段取哪一个值。select a.* from tablename a join (select field1,max(field2) as field2 from tablename group by field1) c on a.field1=c.field1 and a.field2=c.field2以上,按照field1取不重复记录。重复记录中取field2的最大值那条记录。
select distince 字段名1,字段名2。字段名n from table
select distince 字段名1,字段名2。字段名n from table
select distince 字段名1,字段名2。字段名n from table
用 mmzxg(超级笨蛋) 的方法就可以了。
select distince 字段名1,字段名2。字段名n from table 取出的记录是n个字段的不同组合
“select distinct * from tablename”这个语句是不行的。因为我是想按一个字段查找,而要显示所有的。
“select distinct 字段名1,字段名2。字段名n from table” 这个也不行,我试了!
liujianjun_(流星尔),你好,我试着用你的方法怎么确有语法错误呢?
select distinct Field1 from tablename group by field1
select distinct id,max(field1),max(field2) from tablename
我想可能你不是在sql server中运行该语句的。你是在什么环境中运行该命令。vfp还是sql server. 如果是vfp的话,就是 select field1,max(field2) as field2 from tablename group by field1 into cursor lsbselect tablename.* from tablename join lsb on tablename.field1=lsb1.field1 and tablename.field2=lsb.field2
select tablename.* from tablename join lsb on tablename.field1=lsb1.field1 and tablename.field2=lsb.field2 这句错了。tablename.field1=lsb1.field1 应该是tablename.field1=lsb.field1
Select field1,First(field2) as field2,Last(Field3) as Field3,Max(Field4) as field4,Min(Field5) as field5,Sum(Field6) as field6,Count(field7) as field7 From TableName Group by field1
取出的记录是n个字段的不同组合
这个也不行,我试了!
如果是vfp的话,就是
select field1,max(field2) as field2 from tablename group by field1 into cursor lsbselect tablename.* from tablename join lsb on tablename.field1=lsb1.field1 and tablename.field2=lsb.field2
这句错了。tablename.field1=lsb1.field1 应该是tablename.field1=lsb.field1
Group by field1