zgfp.net
当前位置:首页 >> sql取A字段重复记录的B字段值最大的一条记录 >>

sql取A字段重复记录的B字段值最大的一条记录

select max(id) id,name from 表 group by name --如果表中还有其他字段要查出,那么 select * from 表 where id in (select max(id) from 表 group by name )

假设要查询的表是 A,字段有:id,name,other select A.id,A.name,A.other from A inner join (select max(id) as id from A group by name) as B on A.id=B.id 以上语句就可以实现。 我给出测试语句你测试一下吧. --创建表A create table A ( ...

1 Null 为什么也要选出来? 直接 select A,B from 表1 where B = 5 不行?

-- 解决排序 select A.A, A.B, A.C from table A, (select A, Count(A) OrderA from Table group by A) b where a.A = b.A order by b.a desc, a.b -- c 增加序号 需要知道是什么数据库

....题目出错了吧? select distinct a,b from table;

sql中检索出两个表字段a相同时候字段b不同的数据 select * from table_a x inner join table_b y on x.a=y.a and x.by.b

SQL命令:SELECT * FROM 表名 where A=120 order by E desc 这样查询结果为: A 120 B 156 C 263 D 268 E 235 A 120 B 156 C 263 D 268 E 123 这样查询命令的意思就是说:查询表里面的“A”字段等于120的所以数据并且以“E”字段的大到小排列,你只需...

Sql Server 如下: 一: select * from a where exists (select 1 from b where code='S' and b.value+',' like '%'+a.it+',%' ) 二: select * from a where (select count(1) from b where code='S' and b.value+',' like '%'+a.it+',%' ) >0

那就用显示B表排除他的重复项,再去用A表去匹配他,左连接得出匹配的项 Select * From (Select Distinct B.* From B) as 查询1 Left Join A on 查询1.id=A.id where(B.id IS NOT NULL); 要先把B表重复项整理掉,再去匹配,还要把NULL项去掉

select * from tablename where B in (select A from tablename)

网站首页 | 网站地图
All rights reserved Powered by www.zgfp.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com