在ACCESS中有一个表出口货号 货号 货物名称 消耗 变更次数8101-01-1198 0102-58-0165-0 警察狗手指偶// 0.033673469 48
8101-01-1198 0102-58-0165-0 警察狗手指偶// 0.033673469 49
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 49
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 50
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 45类似这样的数据。判断前面四个条件。四个条件一样的取 然后变更次数最大的一个结果是8101-01-1198 0102-58-0165-0 警察狗手指偶// 0.033673469 49
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 50
8101-01-1198 0102-58-0165-0 警察狗手指偶// 0.033673469 49
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 49
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 50
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 45类似这样的数据。判断前面四个条件。四个条件一样的取 然后变更次数最大的一个结果是8101-01-1198 0102-58-0165-0 警察狗手指偶// 0.033673469 49
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 50
解决方案 »
- 恶补一下基础,有空的老师进,谢谢。
- SQL数据库为什么会被置疑?
- 怎样用一个列去求其它几个计算列的和?用a+b+c不行哦
- 教大师,如何sql条件查询,数据条数最多的前3条数据?
- 请教一个有关ASP.NET连接SQL SERVER的问题,谢谢!
- 请问在sql server 中写存储过程时时从v foxpro导入数据到sql server中,如何写这个存储过程?谢谢
- 一插入语句,提示操作成功,但数据库表中没有该记录
- 大家快救救我
- sql简单问题
- 如何提高远程访问 SQL SERVER 的速度?
- 就是我网站中的留言板在公司可以正常运行 我拿到家里却说与SQL server无关联 这个是什么原因
- 在线等待!!!又见表关联(主/外键),请大侠指教,多谢
from tb t
where 变更次数=(select max(变更次数)
from tb
where 出口货号=t.出口货号 and 货号=t.货号 and
货物名称=t.货物名称 and 消耗=t.消耗)
if not object_id('tb') is null
drop table tb
Go
Create table tb([出口货号] nvarchar(12),[货号] nvarchar(14),[货物名称] nvarchar(8),[消耗] decimal(18,9),[变更次数] int)
Insert tb
select N'8101-01-1198',N'0102-58-0165-0',N'警察狗手指偶//',0.033673469,48 union all
select N'8101-01-1198',N'0102-58-0165-0',N'警察狗手指偶//',0.033673469,49 union all
select N'8101-01-1198',N'0103-03-0051-0',N'警察狗手指偶//',0.057142857,49 union all
select N'8101-01-1198',N'0103-03-0051-0',N'警察狗手指偶//',0.057142857,50 union all
select N'8101-01-1198',N'0103-03-0051-0',N'警察狗手指偶//',0.057142857,45
Go
select *
from tb t
where 变更次数=(select max(变更次数)
from tb
where 出口货号=t.出口货号 and 货号=t.货号 and
货物名称=t.货物名称 and 消耗=t.消耗)
/*
出口货号 货号 货物名称 消耗 变更次数
------------ -------------- -------- --------------------------------------- -----------
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 50
8101-01-1198 0102-58-0165-0 警察狗手指偶// 0.033673469 49(2 行受影响)*/
if not object_id('tb') is null
drop table tb
Go
Create table tb([出口货号] nvarchar(12),[货号] nvarchar(14),[货物名称] nvarchar(8),[消耗] decimal(18,9),[变更次数] int)
Insert tb
select N'8101-01-1198',N'0102-58-0165-0',N'警察狗手指偶//',0.033673469,48 union all
select N'8101-01-1198',N'0102-58-0165-0',N'警察狗手指偶//',0.033673469,49 union all
select N'8101-01-1198',N'0103-03-0051-0',N'警察狗手指偶//',0.057142857,49 union all
select N'8101-01-1198',N'0103-03-0051-0',N'警察狗手指偶//',0.057142857,50 union all
select N'8101-01-1198',N'0103-03-0051-0',N'警察狗手指偶//',0.057142857,45
Goselect 出口货号,货号,货物名称,消耗,max(变更次数) 变更次数
from tb
group by 出口货号,货号,货物名称,消耗
/*
出口货号 货号 货物名称 消耗 变更次数
------------ -------------- -------- --------------------------------------- -----------
8101-01-1198 0103-03-0051-0 警察狗手指偶// 0.057142857 50
8101-01-1198 0102-58-0165-0 警察狗手指偶// 0.033673469 49(2 行受影响)
select 出口货号 货号 货物名称 消耗 max(变更次数)
from 表名
group by 出口货号 货号 货物名称 消耗
having count(*) >= 2
FROM bom
GROUP BY bom.出口货号, bom.货号, bom.货物名称, bom.消耗;我大概看了一下MS是对的