我正在尝试使用select语句创建一个表,并且不要求我设置列类型。但是我需要列percent
是浮点数,但我得到的是0和1。如何将该列设置为浮点数或小数?
create table C as(
select a.pid, b.date,
((select a.count(cost) where cost > '10')/(select a.count(cost))) AS percent
from A a join B b
on a.pid = b.pid
group by 1,2,3);
我的输出类似于下面,但我需要第三个col作为浮点数:
pid date percent
1 2015-01-01 1
2 2015-04-03 0
答案 0 :(得分:1)
怎么样:
create table C as(
select a.pid, b.date,
((select a.count(cost)*1.000 where cost > '10')/(select a.count(cost))) AS percent
from A a join B b
on a.pid = b.pid
group by 1,2,3);
编辑:没关系上面的
以下内容经过测试,看起来很开心。
create table i1
(
h varchar(10),
g varchar(10)
);
insert i1 (h,g) values ('a','b'),('a','b');
-- drop table c;
create table c (percent float not null) as
select h,count(*) as percent from i1
describe c;