我刚刚开始为我公司的所有产品组建一个产品数据库..
CREATE TABLE Product
(
ProductId BIGINT,
Name VARCHAR(50),
Category VARCHAR(50),
RetailPrice DECIMAL(9,2)
);
我尝试使用此代码列出每个产品类别和最昂贵的产品
SELECT MAX(Product.RetailPrice) AS Expensive
SELECT COUNT(DISTINCT Product.Category) AS Categories FROM Expensive;
终端只告诉我语法错误。
答案 0 :(得分:0)
只需一个选择
SELECT MAX(Product.RetailPrice) AS Expensive,
COUNT(DISTINCT Product.Category) AS Categories FROM Expensive;
答案 1 :(得分:0)
您的查询与此问题没有多大关系。如果这是你的问题:
我正在努力列出每个产品类别和最多的产品类别 使用此代码的昂贵产品
然后你可以用几种方式回答它。以下是使用变量的一种方法:
select p.*
from (select p.*,
(@rn := if(@c = p.category, @rn + 1,
if(@c := p.category, 1, 1)
)
) as rn
from product p cross join
(select @c := '', @rn := 0) params
order by p.category, retailprice desc
) p
where seqnum = 1;