按比例去除最高最低价的SQL语句怎么写?
发布网友
发布时间:23小时前
我来回答
共1个回答
热心网友
时间:2024-10-03 22:20
你说的是 表中最高价的 10%?
不是的话,你这个高价是什么,
还是说,价格从高到低,前 10% 和 后 10% 的数据
你可以,举例,少一些数据,把你要的结果数据,发张图,好了解你要的效果追问我已经按你说的修改了问题,你看看是否表达清楚了?如果意思清楚了,望回复!
追答
以 表 bbb 列 b 为例
存储过程如下
if (object_id('proc_test003', 'P') is not null)
drop proc proc_test003
go
create proc proc_test003(
@i_count int out,
@i_xh decimal(2) out,
@i_xh2 decimal(2) out )
as
select @i_count =count(*) from bbb;
set @i_xh = @i_count * 0.1
set @i_xh2 = @i_xh
while @i_xh2 <>0
begin
delete from bbb where b in(select max(b) from bbb);
set @i_xh2 = @i_xh2 - 1
end
set @i_xh2 = @i_xh
while @i_xh2 <>0
begin
delete from bbb where b in(select min(b) from bbb);
set @i_xh2 = @i_xh2 - 1
end
调用的语句
declare @i_count int,
@i_xh decimal,
@i_xh2 decimal;
exec proc_test003 @i_count out,@i_xh out,@i_xh2;
select @i_count;
select @i_xh;
返回 @i_count 总记录数 @i_xh 10%记录数
不过以上只是给你个思路,有个小问题
我是按 总记录数a 的 10% 记录数b。来删除 b 条最高价记录,和b条最低价记录,
如果最高价记录,有重复,实际删除的记录要多些
你可以把删除的部分改成游标操作,就么有这个问题了,时间有限就没给你测试了
按比例去除最高最低价的SQL语句怎么写?
还是说,价格从高到低,前 10% 和 后 10% 的数据 你可以,举例,少一些数据,把你要的结果数据,发张图,好了解你要的效果
SQL如何按比例查找结果。 比如某字段等于1的出现结果中占10% 等于2的...
3、使用聚合索引内的时间段,搜索时间会按数据占整个数据表的百分比成比例二、改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心
怎么用SQL语句查询一件物品的最高价和最低价
最高价:select * from items_ordered where price = (select max(price) from items_ordered )1.select max(price) from items_ordered的意思是找出最高价,2。然后在items_ordered 中查找,哪条记录的价钱符合第1条的要求,也就是说,那条记录的价钱是最高的。最低价同理:最低价:select * ...
按要求写出如下T-SQL语句
delete from 产品表 where 价格<504、select 产品名称 from 产品表 where 价格 between 2000 and 29005、select SUM(价格*库存量) as 总价格 from 产品表 6、select 产品名称 from 产品表 a,
SQL 图书管理系统的查询语句
sum(实际数量) as 总库存册数,max(定价) as 最高价,min(定价) as 最低价 from 图书卡片 go 2. 列出藏书在10本以上的书(书名、作者、出版社、年份)。select 图书名称,作者姓名,出版社,出版日期 from 图书卡片 group by 图书编号 having(coung(1)>10)order by 图书名称 go 3. 哪些出版社...
SQL查询所有图书最高价和最低价
//查询最高价 select max(price) from books //查询最低价 select min(price) from books //查询最低价和最高价 select min(price) as min_price,max(price) as max_price from books
sql 语句如何分组统计,并用统计结果除以150
直接加上运算符试试: select sj,count(sj)/数 as 平均数 from sheet1 group by sj
关于T-sql 语句 计算百分比的问题
select mz as '民族',count(*) as '人数',SUBSTRING (convert(varchar (20), (count(*)/80.00*100) ),1,4)+'%' as '比例' from ryxx group by mz 试试吧 我试了
一条更新SQL语句是如何执行的?
binlog可以做数据恢复,在开启了binlog功能的情况下,我们可以把binlog导出成SQL语句,把所有的操作重放一遍。binlog另一个功能就是做主从复制,它的原理就是从服务器读取主服务器的binlog,然后执行一遍。一条更新SQL是如何执行的 介绍了上面这么多的功能,现在我们再来看一条更新语句是如何执行的? update user set nam...
sql语句执行顺序?
只有使<having_condition>为true的组才会被插入VT7.8、SELECT:处理SELECT列表,产生VT8.9、DISTINCT:将重复的行从VT8中移除,产生VT9.10、ORDER BY:将VT9中的行按ORDER BY 子句中的列列表排序,生成游标(VC10).11、TOP:从VC10的开始处选择指定数量或比例的行,生成表VT11,并返回调用者。