数据筛选问题(50分)

  • 主题发起人 主题发起人 ruilin
  • 开始时间 开始时间
R

ruilin

Unregistered / Unconfirmed
GUEST, unregistred user!
列1 | 列2 | 列3....列n
-----|-----|-------
qqq 45 as
qqq 4 sss
a 2 sd
ab 3 df
a 5 d
-----|--------------
如何筛选出列1的数据不重复,列2的数据是列1对应的最大值
要返回结果为
列1 | 列2 | 列3....列n
-----|-----|-------
qqq 45 as
ab 3 df
a 5 d
-----|--------------
 
怎么没人回.
 
select * from
tablename where rtrim(列1)+rtrim(列2)
in (select rtrim(列1)+trim(max( 列2 )) from tablename group by 列1 )
 
谢谢回复.尝试过了.返回的不是要的结果.
 
本人用以下语句实现
SELECT 列1, max(列2) AS iccount, 列3
FROM t1
GROUP BY 列1, 列3
HAVING Max(列2);
这样筛选出来只能实现记录唯一.不能实现列1的值是唯一.
 
增加一个字段为自动编号,也可以自己维护,只要编号唯一就行.名称为code
select * from 表 as a where a.code in ( select top 1 code from 表 as b where a.列1=b.列1 order by b.列1,b.列2 desc,b.code ) order by 列1
 
谢谢lihoulong;通过测试.但是以不能不用自动编号.或干脆避开子查询.
 
如果想实现返回结果为
列1 | 列2 | 列3....列n
-----|-----|-------
qqq 49 as
ab 3 df
a 7 d
-----|--------------
即列1中相同的进行累加
[分数不够我再开贴送上.]
 
不能不用自动编号.或干脆避开子查询 可能比较难实现。因为只是本身的话,这样的语句可能是没有的。实现你下面的功能我想应该可以的。QQ:66063872
 
s是表。code 是后加的。s1,s2,s3 对应 列1 | 列2 | 列3
select c.s1,d.d1,c.s3 from ( select * from s as a where a.code in ( select top 1 code from s as b where a.s1=b.s1 order by b.s1,b.s2 desc,b.code ) order by s1 ) as c ,(select s1 ,sum(s2) as d1 from s group by s1) as d where c.s1 = d.s1
 
谢谢![合十]
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
800
DelphiTeacher的专栏
D
D
回复
0
查看
657
DelphiTeacher的专栏
D
D
回复
0
查看
775
DelphiTeacher的专栏
D
D
回复
0
查看
679
DelphiTeacher的专栏
D
后退
顶部