在SQL中组织最高成本的产品

时间:2016-06-03 20:52:38

标签: mysql sql

我刚刚开始为我公司的所有产品组建一个产品数据库..

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;

终端只告诉我语法错误。

2 个答案:

答案 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;