Oracle SQL缺少关键字
我试图显示给定月份(2014年1月)最流行的产品(format_id),并根据每个format_id的计数对它们进行分组 我的问题是:Oracle SQL缺少关键字,sql,oracle,Sql,Oracle,我试图显示给定月份(2014年1月)最流行的产品(format_id),并根据每个format_id的计数对它们进行分组 我的问题是: select PRODUCT, AMOUNT from (Select Order_108681091.Order_Date, order_line_108681091.Format_id as Product, COUNT(*) AS AMOUNT FROM order_line_108681091 Inner Join order_108681091
select PRODUCT, AMOUNT
from (Select Order_108681091.Order_Date, order_line_108681091.Format_id as Product,
COUNT(*) AS AMOUNT FROM order_line_108681091
Inner Join order_108681091
On order_108681091.order_id = order_line_108681091.order_id
Where order_108681091.Order_Date like '%JAN-14%'
group by Format_id
order by AMOUNT desc);
如何执行此操作?您必须指定内部联接:
inner join order_108681091 ON order_1078681091.ID = order_line_018681091.ID
或者类似的。此外,除非将日期存储为字符串而不是日期时间数据类型,否则where子句可能无法工作。必须指定内部联接:
inner join order_108681091 ON order_1078681091.ID = order_line_018681091.ID
或者类似的。此外,除非将日期存储为字符串而不是日期时间数据类型,否则where子句可能无法工作。必须指定内部联接:
inner join order_108681091 ON order_1078681091.ID = order_line_018681091.ID
或者类似的。此外,除非将日期存储为字符串而不是日期时间数据类型,否则where子句可能无法工作。必须指定内部联接:
inner join order_108681091 ON order_1078681091.ID = order_line_018681091.ID
或者类似的。此外,除非将日期存储为字符串而不是日期时间数据类型,否则where子句可能无法工作
SELECT
SELECT
SELECT
SELECT
您根本不需要子查询。而且,我很不喜欢在约会中直接使用
,比如。将日期显式转换为字符串:
select ol.Format_id as Product, COUNT(*) AS AMOUNT
from order_line_108681091 ol Inner Join
order_108681091 o
ON o.order_id = ol.order_id
where to_char(o.Order_Date, 'MMM-YYYY') = 'JAN-2014'
group by ol.Format_id
order by count(*) desc;
实际上,如果您在OrderDate
上有索引,您可以使用以下内容(利用索引):
选择ol.Format\u id作为产品,计数(*)作为金额
从订单线到内部连接108681091
订单号:108681091 o
ON o.order\U id=ol.order\U id
其中订单日期>=截止日期(“2014-01-01”、“YYYY-MM-DD”)和
o、 订单日期<截止日期('2014-02-01','YYYY-MM-DD')
按ol.Format\u id分组
按计数排序(*)说明;
将函数从列移动到常量允许在列上使用索引。您根本不需要子查询。而且,我很不喜欢在约会中直接使用,比如。将日期显式转换为字符串:
select ol.Format_id as Product, COUNT(*) AS AMOUNT
from order_line_108681091 ol Inner Join
order_108681091 o
ON o.order_id = ol.order_id
where to_char(o.Order_Date, 'MMM-YYYY') = 'JAN-2014'
group by ol.Format_id
order by count(*) desc;
实际上,如果您在OrderDate
上有索引,您可以使用以下内容(利用索引):
选择ol.Format\u id作为产品,计数(*)作为金额
从订单线到内部连接108681091
订单号:108681091 o
ON o.order\U id=ol.order\U id
其中订单日期>=截止日期(“2014-01-01”、“YYYY-MM-DD”)和
o、 订单日期<截止日期('2014-02-01','YYYY-MM-DD')
按ol.Format\u id分组
按计数排序(*)说明;
将函数从列移动到常量允许在列上使用索引。您根本不需要子查询。而且,我很不喜欢在约会中直接使用,比如。将日期显式转换为字符串:
select ol.Format_id as Product, COUNT(*) AS AMOUNT
from order_line_108681091 ol Inner Join
order_108681091 o
ON o.order_id = ol.order_id
where to_char(o.Order_Date, 'MMM-YYYY') = 'JAN-2014'
group by ol.Format_id
order by count(*) desc;
实际上,如果您在OrderDate
上有索引,您可以使用以下内容(利用索引):
选择ol.Format\u id作为产品,计数(*)作为金额
从订单线到内部连接108681091
订单号:108681091 o
ON o.order\U id=ol.order\U id
其中订单日期>=截止日期(“2014-01-01”、“YYYY-MM-DD”)和
o、 订单日期<截止日期('2014-02-01','YYYY-MM-DD')
按ol.Format\u id分组
按计数排序(*)说明;
将函数从列移动到常量允许在列上使用索引。您根本不需要子查询。而且,我很不喜欢在约会中直接使用,比如。将日期显式转换为字符串:
select ol.Format_id as Product, COUNT(*) AS AMOUNT
from order_line_108681091 ol Inner Join
order_108681091 o
ON o.order_id = ol.order_id
where to_char(o.Order_Date, 'MMM-YYYY') = 'JAN-2014'
group by ol.Format_id
order by count(*) desc;
实际上,如果您在OrderDate
上有索引,您可以使用以下内容(利用索引):
选择ol.Format\u id作为产品,计数(*)作为金额
从订单线到内部连接108681091
订单号:108681091 o
ON o.order\U id=ol.order\U id
其中订单日期>=截止日期(“2014-01-01”、“YYYY-MM-DD”)和
o、 订单日期<截止日期('2014-02-01','YYYY-MM-DD')
按ol.Format\u id分组
按计数排序(*)说明;
将函数从列移动到常量允许在列上使用索引。内部联接
需要一个条件从表到另一个表的内部联接没有on子句似乎不寻常