select 列1+列2+列3+列4+列5 as 列和,(列1+列2+列3+列4+列5)/5 as 平均值 from 表名
创新互联公司秉承实现全网价值营销的理念,以专业定制企业官网,成都网站设计、做网站,微信小程序,网页设计制作,手机网站制作,成都全网营销帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
数据库开窗函数count()over()可以实现你的需求,但是你的数据库有没有类似的开窗函数我就不知道的,一般来说oracle应该可以实现,sqlserver和mysql中mysql没有响应的开窗函数,要自己做,sqlserver中有类似的聚合开窗函数,但是count能不能用我不是很确定。
select count(*)over(partition by fsu_device_id) 重复次数,你的字段 from (你上面的select语句)
我写了一个最简单的,也就是在你的语句外面又套了一层,你可以试试能不能不套这一层,不过我没有环境没办法测试,所以就直接套了。
select count(name) from syscolumns
where id=( select id from sysobjects where name='表名' and xtype='U')
说明:select id from sysobjects where name='表名' and xtype='U' 从sysobjects 里查询表类型为U(非系统)的表的id ,假设查到的是 1002 ;
select count(name) from syscolumns where id=1002 查的是系统列syscolumns 里表id是1002的列数。
你可以随便建个表,然后分步运行这两句看看
什么意思, 第一条是统计status, 第二条是统计sex
你直接把两个写在一起:
SELECT COUNT(status) AS COU, count(sex) as num,ROOMID,STATUS,nameroom,upperlimit FROM kg_V_assignclass WHERE(roomid0) GROUP BY roomid,status,nameroom,upperlimit ORDER BY roomid
我没太看明白你的问题, 不知道你是不是想要这样的效果