2 jonson0425 jonson0425 于 2014.04.25 15:40 提问

如何在SQL数据表中如何剔除连续重复的记录,统计个数时只记做1条记录?

各位大虾帮帮忙:
如何剔除数据表中连续重复的记录记做1条记录??
数据表如下,我想要取result=0的sn在各prodorderid下的个数( 注意:要剔除连续重复的数据,记做1条记录,但是不连续的重复的分别记为1条记录

create table test 

(
id int identity(1,1) primary key,
sn varchar(50) not null,
prodorderid int not null,
result int not null
)
--insert into test values ('20140425001',1,0)
--insert into test values ('20140425001',1,1)
--insert into test values ('20140425001',2,0)
--insert into test values ('20140425001',2,0)
--insert into test values ('20140425001',2,0)
--insert into test values ('20140425001',1,1)
--insert into test values ('20140425001',2,0)
--insert into test values ('20140425001',2,0)
--insert into test values ('20140425001',2,1)
--insert into test values ('20140425001',3,0)
--insert into test values ('20140425001',1,1)
--insert into test values ('20140425001',2,0)
--insert into test values ('20140425001',2,0)
--insert into test values ('20140425001',1,0)
--insert into test values ('20140425001',1,0)

具体问题如图片所示:
CSDN移动问答

1个回答

bicel
bicel   2014.04.25 21:48
select prodorderid ,count(sn) from test where result = 0 group by prodorderid
jonson0425
jonson0425 第一次问题,各位大侠帮帮忙.......
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
oracle 某一列的记录相同的数量大于1的条数
select t1.warehousing_stock_pk from rm_resource_predistribution t1 group by t1.warehousing_stock_pk having count(*)>1
SQL获得连续的记录的统计
SELECT TYEAR, MIN(TDATE) AS STARTDATE, MAX(TDATE), COUNT(TYEAR) AS ENDNUM --TYEAR年,STARTDATE连续记录的开始时间,TDATE连续记录的结束时间,ENDNUM连续的记录树 FROM (SELECT A.*, A.TDATE - ROWNUM AS GNUM --A.TDATE - ROWNUM AS G
取得数据表中前N条记录,某列重复的话只取第一条记录
项目需要筛选出不重复数据,以前没有做过,第一反应就是利用distinct处理,但是弄了好久也没搞出来,大家有知道的望告知下。 这次筛选没有使用distinct ,是利用group by ,利用id为唯一标示符(自增长),对按user进行排列,然后取重复项最小id(非重复项直接取唯一id),并以此id为条件查询,从而去除重复的数据。 数据格式为: 使用语句如下: se
一条SQL清除(单字段、多字段)重复数据的办法.txt
一条SQL清除(单字段、多字段)重复数据的办法.txt
关于SQL删除重复数据只保留一条
用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId from people group by peopleId havi
db2 查询重复数据只显示一条
方法1:row_number()函数 select * from ( select a.*,row_number() over(partition by 分组字段 order by 排序字段) rn from 表名; ) b where rn = 1上面这个方法还是很好用的,解决了我的问题方法二:DISTINCT select distinct  列名 from 表名 where 条件;方法三
Excel应用:去除重复项,进行个数计算。
当遇到要计算一个巨大表格中某列实际个数有多少时(实际存在重复项)要计算该列项的个数,该如何是好呢??如下表格的简单示范形式。。。。。:A1  A列       B列A2  产品A    30A3  产品B    40A4  产品G    500A5  产品C    100A6  产品D     30A7  产品C     40A8  产品D     331、问:实际A列产品个数到底有多少个【当然是不能重复计算了】?2、答:在表格中任一空白处,填入公式:=SUM(IF(COUNTIF(A2:A8,A2:A8)
vf中统计表格中纪录的个数
以人事为例:count all  to allmancount all for 性别="男" to mancount all for 性别="女" to womanthisform.label1.caption=allt(str(allman))thisform.label2.caption=allt(str(man))thisform.label3.caption=allt(str(wo
yii计算数据库的记录条数
$connection=Yii::app()->db; $command = $connection->createCommand(" sql语句 "); $dataReader = $command->query(); $count = $dataReader->rowCount; $renderd
oracle中某列连续相同值的记录数统计(一个简单的例子)
row_number() OVER (PARTITION BY COL1 ORDER BY COL2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(组内连续的唯一的).          与rownum的区别在于:使用rownum进行排序的时候是先对结果集加入伪列rownum然后再进行排序,而此函数在包含排序从句后是先排序再计算行号码.