首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用MYSQL找到销售价格占MRP 50%的产品数量?

如何使用MYSQL找到销售价格占MRP 50%的产品数量?
EN

Database Administration用户
提问于 2020-04-09 12:45:44
回答 1查看 72关注 0票数 0

下表(产品)

代码语言:javascript
复制
id|name|price_type|price|
--|----|----------|-----|
 1|book|MRP       |   10|
 2|book|SALE      |    5|
 3|pen |MRP       |   10|

在本表中,答案是1,因为只有一种产品“书”的售价是mrp的50%。

我试着执行以下查询,但是它出现了错误

代码语言:javascript
复制
select name from product group by name HAVING  (count(product.name)>1 && product.price_type="MPR" && product.price_type="SALE");
EN

回答 1

Database Administration用户

回答已采纳

发布于 2020-04-09 13:40:58

为了(最终)解决您的问题,我做了以下工作

代码语言:javascript
复制
CREATE TABLE product
(
  id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR (15) NOT NULL,
  price_type VARCHAR (10) NOT NULL,
  price INTEGER NOT NULL
);

填充表--我添加了额外的记录,因为,正如我再次发现的那样,使用1条记录(或者设置--即name = ' book ')进行测试--我添加了第1、2和3本书,因为我怀疑你是否只卖一本书和一支笔1和2。

代码语言:javascript
复制
INSERT INTO product (name, price_type, price)
VALUES 
('book1', 'MRP',  10),
('book1', 'SALE',  5),
('pen1', 'MRP',  10),
('pen1', 'MRP',  5),

('book2', 'MRP',  14),
('book2', 'SALE',  7),
('pen', 'MRP',  16),

('book3', 'MRP',  30),
('book3', 'SALE',  15),
('pen', 'MRP',  8);

查询

代码语言:javascript
复制
SELECT SUM(cnt) AS number_of_50
FROM
(
  SELECT  p1.name, COUNT(p1.name) AS cnt
  FROM product p1
  JOIN product p2
    ON p1.name = p2.name
  WHERE p1.price = 2 * p2.price
  GROUP BY p1.name
) AS tab

结果

代码语言:javascript
复制
number_of_50
5

这里

附注:除了有一个以上的记录,你可能会考虑使用小提琴作为你的表格和数据在未来的任何问题?此外,也请始终提供您的版本的MySQL,它可以使真正的不同的答案。这里有一些关于如何在我的个人资料上提问的文章--你可能想看看吗?欢迎来到论坛!

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/264677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档