如何使用 create-select 语句设置列类型

how to set column type with create-select statement

我正在尝试使用 select 语句创建 table,这不需要我设置列类型。但是我需要 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);

我的输出如下所示,但我需要它的第三列是浮点数:

pid date percent
1   2015-01-01  1
2   2015-04-03  0

怎么样:

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;