建立数据库表时,百分数要用字符类型。
原因:因为百分号(%)不是可读的数字类型,除非用小数表示,否则只能用字符类型来保存。
工具:mysql 56
测试步骤:
1、数据库中test表结构如下,其中col1为字符类型,col2位数字类型
2、在col1中插入50%这个数据。语句如下:
insert into test(col1) values ('50%');插入后结果:
3、在col2中也插入50%这个数据,语句如下:
update test set col2=50%;系统会报错:
总结:说明带百分号的数据只能用字符类型来存储。
你这个表示通过SQL语句得来的还是表本来就是这样的
占比的公式就是Y舱/总数 C舱/总数 F舱/总数
如果是通过SQL语句的得来的把SQL语句贴出来!!
如果不是表本来就是这样的结构的话,建议你建个视图就行了
下面是SQL语句的查询部分
select 日期 , Y舱 ,Y舱/总数 as Y舱占比 , C舱 ,C舱/总数 as C舱占比 , F舱 , F舱/总数 as F舱占比 , 总数
from 表名
就行了
--建立测试表 testTable
create table testTable(id int identity(1,1),type nvarchar(8))
go
--循环插入测试语句
declare @a int
set @a=0
while (@a<100)
begin
if @a<80
insert into testTable(type)values('会员')
else
insert into testTable(type)values('vip')
set @a=@a+1
end
go
--查看插入表中的所有数据
select from testTable
--查看你要看的的数据
select bsumb%asuma '会员占总人数的百分比(%)'
from(select COUNT() suma from testTable) a,
(select COUNT() sumb from testTable where type='会员') b
select bsumb%asuma 'vip占总人数的百分比(%)'
from(select COUNT() suma from testTable) a,
(select COUNT() sumb from testTable where type='vip') b
select bsumb%asuma '会员占总人数的百分比(%)',csumc%asuma'vip占总人数的百分比(%)'
from(select COUNT() suma from testTable) a,
(select COUNT() sumb from testTable where type='会员') b,
(select COUNT() sumc from testTable where type='vip') c
--查看完删除测试表 testTable
drop table testTable
结果我已经看过了,如下图:
结果如下:
round((SA/TotelTime)100,2) & "%"
select mz as '民族',count() as '人数',SUBSTRING (convert(varchar (20),
(count()/8000100) ),1,4)+'%' as '比例' from ryxx group by mz
结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
以上就是关于建立数据库(表)时%(百分数)用的是什么数据类型全部的内容,包括:建立数据库(表)时%(百分数)用的是什么数据类型、sql语句 求比例、用sql语句怎么计算 百分比 的数值呢 求代码!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)