首页 > 解决方案 > 从数据库中确定最有利可图的商店的功能

问题描述

我必须创建一个接收索引并返回按利润排序的索引中的商店名称的 MySQL 函数。如何设置功能?

这是我根据利润订购商店所做的查询,利润是售出商品的总和乘以库存数量。

    SELECT name, (SUM(price * quantity)) AS TotalPrice
    FROM Items NATURAL JOIN Inventory
    GROUP BY name
    ORDER BY (TotalPrice) DESC;

Schema:
Inventory(name: String, item: String, quantity: integer)
Items(item: String, brand: String, price:double )
错误:使用的 Select 语句的列数不同。

我应该能够返回第 n 个最赚钱的商店。MySQL命令我有按顺序创建视图的功能,但我不知道如何返回有序表的索引。这不是作业,只是复习考试。

标签: mysqlsqldatabasefunction

解决方案


我能够创建一个过程,而不是一个函数,它可以通过以下代码为我提供我想要的结果:

DELIMITER |
CREATE PROCEDURE m2(IN N INTEGER)
BEGIN
SELECT name, (SUM(price * quantity)) AS Total_Profit
FROM Items JOIN
Inventory
USING (item)
GROUP BY name
ORDER BY Total_Profit DESC
LIMIT N, 1;
END |

推荐阅读