假设我有以下表格
列表
post.dtd:36: parser error : expected '>'
<!ELEMENT A (#PCDATA) -- a link -- >
^
post.dtd:36: parser error : Content error in the external subset
<!ELEMENT A (#PCDATA) -- a link -- >
昏暗的类别表
`listing` (
`fact_listing_id` INT(11) NOT NULL,
`region_id` INT(11) NOT NULL,
`created_at_date_id` INT(11) NOT NULL,
`category_id` INT(11) NOT NULL,
PRIMARY KEY (`fact_listing_id`),
)
昏暗区域表
`dim_category` (
`category_id` INT(11) NOT NULL,
`category_name` VARCHAR(100) NOT NULL,
`parent_category_id` INT(11) NULL,
`parent_category_name` VARCHAR(100) NULL,
PRIMARY KEY (`category_id`),
)
昏暗的日期表
`dim_region` (
`region_id` INT(11) NOT NULL,
`region_name` VARCHAR(80) DEFAULT NULL,
PRIMARY KEY (`region_id`)
)
现在我想要一个查询来计算每个类别,每个地区和每一天的列表数量,通过分组三个字段,'region_id','category_id'和'date_id'
对于一个维度,我的意思是在一个维度上进行分组,它可以使用以下查询正确运行
`dim_date` (
`date_id` INT(11) NOT NULL, -- date_key
`date` DATE,
`month` INT(11) NULL,
`day_of_month` INT(11) NULL,
`day_of_week` INT(11) NULL,
`week_of_month` INT(11) NULL,
`year` INT(11) NULL,
`quarter` INT(11) NULL,
PRIMARY KEY (`date_id`)
)
但是当我尝试以下查询时,结果并不像我期望的那样
select
count(fl.fact_listing_id) as Count
, dr.region_id
from fact_listing fl
right JOIN dim_region dr on fl.region_id = dr.region_id
group by
dr.region_id;
我希望具有0行结果的行出现在输出结果中,总之,如果我有10个区域,20个类别和100天(在日期表中),结果应该是10 * 20 * 100行。
我的问题类似于MySQL Group by - Get columns with zero count ,但在多个字段(列)上进行分组。