我有一个MySQL表:
现在我想在查询中做一个小计算。 我希望有一个临时列,你可以看到(product_price + 4)。
所以当有一个价格为16(product_price)的产品时。然后应该有一个临时专栏,例如product_newprice = 20
答案 0 :(得分:1)
SELECT product_id,product_name,product_price,(product_price +4) product_newprice FROM table
答案 1 :(得分:1)
查询看起来像这样:
SELECT p.product_id
, p.product_name
, p.product_price
, p.product_price + 4.00 AS product_newprice
FROM mytable p
答案 2 :(得分:1)
select product_id, product_name, product_price, product_price + 4 as product_price2 from YourTable.
答案 3 :(得分:1)
其他人已经展示了如何使用单独的SELECT语句来计算调整后的值,但这意味着您必须在要返回该值的每个查询中对此进行编码。
如果您想使列定义成为表定义的一部分,那么任何查询将获得调整后的值,您可以选择以下选项:
创建一个VIEW,其中包含product_price+4
的新列,并且只查询VIEW。
为调整后的价格添加另一个真实列,并使用triggers更新,以计算INSERT和UPDATE的新值。
使用MariaDB,它是MySQL的一个分支,支持virtual columns,可以动态计算为其他列的表达式。