MYsql中的计算字段

时间:2014-03-27 18:13:54

标签: mysql

原谅现代数据库" newbee#34;提前提问。但是有一个非常简单的问题。

鉴于下表:

ID   Cost_Goods     Sales_Price
1    100            150
2    75             95
3    500            700

我知道我可以查询

SELECT Cost_Goods FROM someTable WHERE ID =2;

我经常想知道'利润'其中利润计算如下:

SELECT profit FROM someTable WHERE ID =2; 

我知道我可以在这里使用一个功能。但是我对一大堆遗留代码有一些限制。我希望能找到一种方法来获得一种"计算字段"在数据库本身。除了以上"利润"查询允许我查询。

SELECT Cost_Goods, profit FROM someTable WHERE ID =2; 

甚至:

  SELECT * FROM someTable ORDER BY profit; 

这可能吗?

我知道有更优雅的方式来进行计算,但是我正在处理的应用程序的界面根本不允许除了非常简单的查询之外的任何其他内容。我试图改变计算。

1 个答案:

答案 0 :(得分:4)

您可以更改表格以添加到列中,也许理想情况可能不是,但这需要在每次插入时保持新字段的最新状态。如果您可以控制这个问题,这不是问题,但是如果您认为自己更新了所有的INSERTS,可以回来咬你。实际上你没有。

我认为首选的方法是在SQL中进行计算

SELECT Cost_Goods -Sales_Price AS profit FROM someTable ORDER BY profit

或者,如果您可以在数据库中创建视图......

 CREATE VIEW sales_profit AS SELECT  ID, Cost_Goods, Sales_Price, Cost_Goods -Sales_Price AS profit FROM someTable;

然后你可以......

 SELECT * FROM sales_profit where ID = 2;
 SELECT * FROM sales_profit ORDER BY profit;