【发布时间】:2018-04-27 18:46:06
【问题描述】:
我正在创建一个新表,它将 stock 表中每个 item_id 的值相加,然后将它们放入新表中。使用此代码可以正常工作:
create table total_stock as (
select item_id,
sum (stock) total_stock
from stock_tbl
group by item_id
);
效果很好,将stock 表中的所有值添加到新表中,但是当我尝试通过item_id 对其进行排序时,它不起作用。任何帮助,将不胜感激。给出的错误是语法错误。
create table total_stock as (
select item_id,
sum (stock) total_stock
from stock_tbl
group by item_id
order by item_id
);
【问题讨论】:
-
请不要使用不适用于您的问题的标签。我删除了数据库标签,因为不清楚您实际使用的是哪一个。请添加only你实际使用的数据库的标签
-
我认为这里的主要问题是,为什么插入的顺序在这里很重要?除了@Andomar 的答案(这是正确的)。
-
对于我的作业,问题希望它们按 item_id 的顺序返回
-
用您正在使用的数据库标记您的问题。
-
我看不出
group by与这个问题有什么关系,因为(至少在Oracle 中)order by子句无论如何在这里都是无效的。实际问题似乎是 ORDER BY not allowed in CREATE TABLE AS SELECT。
标签: sql sql-order-by