sql - 需要有关极其复杂(对我来说)MySQL 查询的帮助

标签 sql mysql

我正在尝试编写一个非常困难的(对我来说)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/

相关文章:

mysql - 在 WHERE 条件下的 SQL 查询

sql - 通过 xml 路径连接字符串

mysql - MyISAM 唯一键在 64 字节处被截断,导致冲突

mysql - 加入一对多 - 显示每个外键的多个表的第一行

mysql - 用于查询column1的子集和column2的范围的MariaDB索引

mysql - 仅获取最后连续一年的行

c# - 如何在 Windows 窗体/WPF 中为数据库 View (带连接)创建编辑器?

sql - 相当于 SQL Server SCHEMA 的 Oracle

sql - 在 SAS 中同时运行多个查询

mysql - 问题: Joining two views in MySQL