EasyShop的管理层希望将这些物品分类为便宜,实惠,昂贵且非常昂贵。如果项目单价在0到499之间然后是“便宜”,如果在500和1999之间然后是'经济实惠',如果在2000和4999之间然后'昂贵'并且如果价格大于或等于5000则完成分类'非常昂贵'。编写查询以显示项目类型和项目分类。显示按项目类型和分类按升序排序的唯一行。
这是我的查询
SELECT DISTINCT ItemType,
CASE
Price BETWEEN 0 AND 499 THEN 'Cheap'
Price BETWEEN 500 AND 1999 THEN 'Affordable'
Price BETWEEN 2000 AND 4999 THEN 'Expensive'
Price >=5000 THEN 'Very Expensive'
END Classification
FROM Item
答案 0 :(得分:0)
你在尝试下面的东西吗?看看:
SELECT DISTINCT CASE
WHEN Price BETWEEN 0 AND 240 THEN 'Cheap'
WHEN Price BETWEEN 241 AND 1200 THEN 'Expensive' END AS Range
FROM Products
ORDER BY Price
答案 1 :(得分:0)
您需要在查询中添加 ORDER BY ItemType,Classification 。您还应在 CASE 语句中包含 WHEN 。
Does not participate in build
答案 2 :(得分:0)
查询中存在语法错误。 CASE语法
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
以下是正确的查询。
SELECT DISTINCT ItemType, CASE
WHEN Price BETWEEN 0 AND 499 THEN 'Cheap'
WHEN Price BETWEEN 500 AND 1999 THEN 'Affordable'
WHEN Price BETWEEN 2000 AND 4999 THEN 'Expensive'
WHEN Price >=5000 THEN 'Very Expensive' END Classification
FROM Item
ORDER BY ItemType, Classification;
答案 3 :(得分:0)
以下是ORACLE(mysql等)中的正确查询。
SELECT distinct ItemType,
CASE
WHEN price between 0 and 499 THEN 'Cheap'
WHEN price between 500 and 1999 THEN 'Affordable'
WHEN price between 2000 and 4999 THEN 'Expensive'
WHEN price >=5000 THEN 'Very Expensive'
END AS classification
FROM Item order by ItemType,classification asc
答案 4 :(得分:0)
检查
SELECT DISTINCT ItemType,CASE
WHEN Price BETWEEN 0 AND 499 THEN 'Cheap'
WHEN Price BETWEEN 500 AND 1999 THEN 'Affordable'
WHEN Price BETWEEN 2000 AND 4999 THEN 'Expensive'
WHEN Price>=5000 THEN 'Very Expensive'
END Classification FROM ITEM WHERE (PRICE BETWEEN 0 AND 499) OR (PRICE BETWEEN 500 AND
1999) OR (PRICE BETWEEN 2000 AND 4999) OR (PRICE>5000) GROUP BY ITEMTYPE,PRICE ORDER BY
ITEMTYPE, CLASSIFICATION;
答案 5 :(得分:-1)
SELECT distinct ItemType,
CASE
WHEN
Price BETWEEN 0 AND 499 THEN 'Cheap'
WHEN
Price BETWEEN 500 AND 1999 THEN 'Affordable'
WHEN
Price BETWEEN 2000 AND 4000 THEN 'Expensive'
else 'Very Expensive'
END Classification
FROM Item
ORDER BY ItemType, Classification