sql - 表达式不在GROUP BY键中

标签 sql hadoop hive hiveql

嗨,我尝试运行此查询:

select
count(id) as Total_books_in_store,
sum(case when type in ('sports', 'music', 'history') then 1 else 0 end) AS Total_sold,
(Total_sold/Total_books_in_store) as Sales_rate
from store
group by total_in_store
当我运行此查询时,它给了我错误:
第5:1行表达式不在GROUP BY键中
我有表的ID和类型,但是我尝试计算比率没有成功。

最佳答案

;WITH Calculation AS(
    SELECT
        count(id) as Total_books_in_store,
        sum(case when type in ('sports', 'music', 'history') then 1 else 0 end) AS Total_sold
    from @Store
    group by total_in_store
)

SELECT
    Total_books_in_store,
    Total_sold,
    (Total_sold/Total_books_in_store) as Sales_rate
FROM Calculation

关于sql - 表达式不在GROUP BY键中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48881716/

相关文章:

sql - 当按另一个表的列分区时,如何使用 CTE 删除重复行?

mysql - 如何处理基本 MySQL 存储过程中的错误?

hadoop - Hive 从字段匹配的两个表中选择?

hadoop - Apache Hive 安装在伪分布式或多节点集群环境

sql - HIVE-使用WITH CLAUSE插入表格

mysql - 在 Laravel 4 中执行分组最大值

mysql - 删除/更新表记录的时间/创建日期有什么好处?

java - hadoop map reduce线程中整个reducer步骤是否安全?

database - 使用重命名的sqoop导入表

csv - 如何在 Hive 中使用 CSV serde 加载带有嵌入式双引号的 CSV 数据。不更新传入的数据文件