⑴ 怎样用一句sql,统计表中不同状态的行的个数
select系统名称,
sum(casewhen故障状态='已处理'then1else0end)as已处理个数,
sum(casewhen故障状态='未处理'then1else0end)as未处理个数,
count(*)as总个数
from表名
groupby系统名称
⑵ sql统计行数,但是需要去重中间的重复数据
userId: user id
url: url visited by the user
SELECT userId, COUNT(DISTINCTurl)
FROM tab
GROUP BY userId
ORDER BY COUNT(DISTINCTurl) DESC
(2)sql按行统计扩展阅读:
group by 解决重复数据的猛磨个数统计适用于各种关系型数据库,如oracle,SQL Server
查询重复的数据
select * from (select v.xh,count(v.xh) num from sms.vehicle v group by v.xh) where num>1;
select v.xh,count(v.xh) num from sms.vehicle v group by v.xh having count(v.xh)=2;
删除重复的数据
create table mayong as (select distinct* from sms.vehicle);
delete from sms.vehicle ;
insert into sms.vehicle select * from mayong;
在oracle中,有个隐藏了自动rowid,里面给每条记录一个唯一的rowid,如果想保留最新的一条记录,就可以利用这个字段,保留重复数据中rowid最大的一条记录就可以了。
下面是查询重复数据的一个例子:
select a.rowid,a.* from 表枝伏斗名厅启 a
where a.rowid != (select max(b.rowid) from 表名 b where a.字段1 = b.字段1 and a.字段2 = b.字段2 )
⑶ C#统计sql的行数
直接在C#中做一个数据库连接,并在C#中执行查询语句 SELECT COUNT(*) FROM TABLE 然后用SQLDATAREADER来读取这个值再随便赋值给控件或变量就行了啊。
⑷ 如何统计sql中所有的表格和行数
SELECT o.name AS "Table Name", i.rowcnt AS "Row Count"
FROM sysobjects o, sysindexes i
WHERE i.id = o.id
AND i.indid IN(0,1)
AND o.xtype = 'u' --只统计用户表
AND o.name <> 'sysdiagrams'
ORDER BY i.rowcnt DESC --按行排降序
COMPUTE SUM(i.rowcnt), count(o.name); --汇总行数,表数
GO
⑸ sql统计行数问题
--不明白可以随时问我 希望采纳
select 客户编号,预期利润,count(1) 行数 from
(
select 客户编号,max(销售单价*订货数量-成本单价*订货数量) as 预期利润 from 订单信息,产品信息
where year(签定日期)='2013' and month(签定日期)='4' and 产品信息.产品编号=订单信息.产品编号
group by 客户编号
having max(销售单价*订货数量-成本单价*订货数量)>10000
) aa
⑹ sql语句中如何统计一行里各个数字的个数
是不是 只会出现 0 和 1 ?
如果是的话:出现1个各数为:
select q1+q2+q3+...+q11 from table;
出现0的各数为:
select 11- ( q1+q2+q3+...+q11) from table;
⑺ 求助:sql如何在查询记录后把某一列的sum汇总显示显示在每一行并统计出每一行的百分比。不好意思分不够了
--1.建表
CREATE TABLE emp
(
id INT ,
proct NVARCHAR(10),
quantity INT
)
--2.插入数据
INSERT INTO emp VALUES(1, 'P1', 1)
INSERT INTO emp VALUES(2, 'P2', 2)
INSERT INTO emp VALUES(3, 'P3', 3)
--3.1查询(SQL2005+)
SELECT *,SUM(quantity) OVER() AS 总数,CONVERT(NVARCHAR(10),CONVERT(NUMERIC(18,2),100.0*quantity/SUM(quantity) OVER()))+'%' AS 占比 FROM emp
--3.2
SELECT *,(SELECT SUM(quantity) FROM emp) AS 总数,CONVERT(NVARCHAR(10),CONVERT(NUMERIC(18,2),100.0*quantity/(SELECT SUM(quantity) FROM emp)))+'%' AS 占比 FROM emp
--3.3
SELECT *,CONVERT(NVARCHAR(10),CONVERT(NUMERIC(18,2),100.0*quantity/总数))+'%' AS 占比 FROM
(
SELECT *,(SELECT SUM(quantity) FROM emp) AS 总数 FROM emp
) S
⑻ sql语句如何统计一行数据的总数
使用累加 就需要用到聚合函数 sum(QTY)
update 表 set QTY=(select sum(QTY) from 表 where LOT_NO not in('20130709014')) where LOT_NO='20130709014'
----------------------------> 如果 LOT_NO 为 20130709014是最后一条记录,那么就满足你的要求,
如果不是最后一条记录,就按照下面的操作去执行
首先 你要查到你表中的最后一条记录的 LOT_NO, 然后求出除了最后一条记录的QTY,最后在根据最后一条记录的LOT_NO去修改