当前位置: 首页 > 面试题库 >

通过货币换算获取每种产品类型的最低价格

章安宜
2023-03-14
问题内容

我想选择每种产品中最便宜的(包括运输成本,价格转换为当地货币)。最便宜=(product.price + product.shipping)*Seller.to_aud

我的数据库具有如下表:

PRODUCTS                                           SELLERS
-----------------------------------------------    --------------------------
| id | type_id | seller_id | price | shipping |    | id | currency | to_aud |
-----------------------------------------------    --------------------------
| 1  | 1       | 1         | 10    | 5        |    | 1  | usd      | 0.9875 |
-----------------------------------------------    --------------------------
| 2  | 1       | 2         | 10    | 2        |    | 2  | gbp      | 1.6000 |
-----------------------------------------------    --------------------------
| 3  | 1       | 1         | 13    | 0        |
-----------------------------------------------
| 4  | 2       | 1         | 8     | 4        |
-----------------------------------------------
| 5  | 2       | 2         | 8     | 2        |
-----------------------------------------------
| 6  | 2       | 2         | 15    | 0        |
-----------------------------------------------

如果所有卖家都使用一种货币,而我没有增加运输成本,则可以得到我想要的结果:

SELECT a.id, a.price
FROM
(
 SELECT type_id, min(price) as minprice
 FROM products
 GROUP BY type_id
) AS b INNER JOIN products as a on a.type_id = b.type_id and a.price = b.minprice
ORDER BY price

但是我不知道从这里去哪里。任何帮助将不胜感激。


问题答案:

SELECT a.id, a.price*ISNULL(s.to_aud,1) as minprice
FROM
(
SELECT type_id, min((price+shipping)) as minprice
FROM products
GROUP BY type_id
) AS b INNER JOIN products as a on a.type_id = b.type_id and (a.price+a.shipping) = b.minprice
Inner join sellers s on s.id = a.seller_id
ORDER BY price




 类似资料:
  • 问题内容: 目标 在数据库中选择每种产品的最低/最高价格。 问题 我只能获得具有指定标识符的产品。 我有的 我正在使用 MySQL, 并且有以下查询: 我的回报是,和。 解决方案 谢谢您的帮助。上面的两个答案都是正确的-但我选择@GordonLinoff答案被接受,因为我认为这将对初学者更加有用和享受-‘’但真的要感谢你们两个人。 最终查询: 干杯! 问题答案: 首先,使用时,即使MySQL不需要

  • 我必须将所有产品的正常价格和销售价格(超过10000)从美元改为印度卢比。客户希望所有的价格都应该通过乘以64.72(当前美元对印度卢比的汇率)以印度卢比转换。它是在产品创建期间以美元输入的。但是现在客户坚持从各地换成INR 请注意,更改数据库中的原始价格是必须的,我们没有使用任何货币转换工具来显示使用转换工具的最终用户。 例如,假设产品价格为100美元,现在批量更新后,数据库中的价格也应为647

  • 我需要找到产品的最低和最大价格,这样我就可以用它来设置我的价格过滤器的范围。我在catalog/model/layer/filter/price.php中使用了getMaxPriceInt()和getMinPriceInt()方法。但是返回的值基于'min_price'字段。 如何根据final_price找出集合中产品的最低和最高价格?也就是说,如果集合中有4个产品(我只登记需要的字段) get

  • 我可以使用ISO 4217代码轻松设置货币,例如“USD”。这将使我能够使用抓取美元符号。getSymbol(),但是,我该如何从货币中提取显示名“dollar”? 我有一个微调器,我想用“美元”、“欧元”、“日元”等货币的名称填充。但是,我无法从ISO 4217代码中提取这些名称。这不是很容易吗? 请注意,我不能使用简单的字符串数组来解决这个问题。这是因为我获取了默认的语言环境,并将其货币添加到

  • 本文向大家介绍magento 通过SKU获取产品,包括了magento 通过SKU获取产品的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我需要一些帮助来编写/优化查询,以按类型检索每行的最新版本,并根据类型执行一些计算。我认为最好举个例子说明一下。 给定以下数据集: 预期结果应为: 帖子的末尾是用于获取此结果的查询。我愿意打赌,应该有一种优化它的方法,因为它使用的是带有联接的子查询,从我所了解的BigQuery来看,最好避免联接。但是首先要有一些背景: 从本质上讲,数据集表示一个只附加表,在该表中写入了multipe事