我正在尝试编写一个非常困难的(对我来说)mysql 查询——除了一小部分之外,我已经非常非常接近了。事情是这样的——我有一张交易表和一张工厂表,我试图将所有交易和成本制成表格,并计算总收入和利润率,并尝试将“排行榜”放在一起。以下是相关字段(此处已修改名称以使其更简单):
表事务:
username | user_city | total_sale | qty_sold
============================================
表植物:
植物城市 | plant_base_cost
因此,我已经能够通过一个相当大的查询来计算我需要了解的有关销售的所有信息,结果如下(两个示例行):
username |price | user_city | plant_city | base_cost | qty | cost | profit
=======================================================================================
AndyHabs | 1140 | 1 | 1 | 65 | 6 | 390 | 750
AndyHabs | 1000 | 1 | 5 | 100 | 5 | 500 | 500
很简单,对吧?我只需要对相关字段进行求和并按用户名对它们进行分组 - 但问题在于!如果 user_city 与 plant_city 不同,我需要将基本成本乘以 1.6...我不知道如何将此条件合并到我的查询中 - 执行基本操作非常简单字段上的计算,但是有没有办法在我的语句中合并这样的条件?
我本质上只是在 PHP 脚本中执行此操作没有问题 - 但如果这个表变得更大,它将需要很长时间,而且我很想使用一些漂亮的分页脚本,这将使它很好直接从 MySQL 获取我需要的数据。
提前致谢!
最佳答案
使用 CASE expression在计算中。
关于sql - 需要有关极其复杂(对我来说)MySQL 查询的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4201279/