[英]Calculated Fields in MYsql
請事先解決“從新蜜蜂到現代數據庫”的問題。 但是有一個非常簡單的問題。
給出下表:
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;
這可能嗎?
我知道可以使用更優雅的方式進行計算,但是我正在/正在使用的應用程序的接口除了平均簡單的查詢外根本不允許任何其他操作。 我試圖將計算結果轉移過來。
您可以更改表以將其添加到列中,也許理想情況下可能不行,但這將要求新字段在每次插入時都保持最新。 如果您對此有控制權,那不是問題,但如果您認為實際上沒有更新所有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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.