mySQL 按表中值的总和排序,在另一个表中具有它的名称

Posted

技术标签:

【中文标题】mySQL 按表中值的总和排序,在另一个表中具有它的名称【英文标题】:mySQL rank order by sum of values in table that have it name in in another table 【发布时间】:2018-10-05 21:37:23 【问题描述】:

我有两个 mysql 数据库表,我用一个存储产品信息,另一个存储销售产品的销售信息,它接收我的 product_id 作为它销售的产品

产品表示例

 product_id |  prod_name |
 ------------------------
 1          |  toyota    | 
 2          |  lexus     |   
 3          |   wagon    |

销售表示例

 sale_id |  prod_id  | qty
 ------------------------
 1       |  1        |  5
 2       |  1        |  1 
 3       |  3        |  2
 4       |  1        |  4
 5       |  2        |  5
 6       |  2        |  1

现在我希望 mysqli 数据库使用 phphtml 表格将最畅销的产品名称的总和制成表格

【问题讨论】:

【参考方案1】:

你可以使用这个查询

SELECT 
product.product_id,
product.prod_name,
sum(qty) as total 
FROM sale 
INNER JOIN product 
ON 
sale.prod_id=product.product_id 
GROUP BY 
product.product_id 
ORDER BY
total DESC

这个fiddle如果你想看看结果

如果你想在 php 上的表格中显示列名,你只需要回显列名

【讨论】:

是的,它成功了,非常感谢,但我将如何用 PHP 和 html 构建它,它会打印出来。

以上是关于mySQL 按表中值的总和排序,在另一个表中具有它的名称的主要内容,如果未能解决你的问题,请参考以下文章

PHP - 如何回显列中值的总和?

从表中选择行,其中具有相同 id 的另一个表中的行在另一列中具有特定值

MySQL中具有相似ID的行的列乘法总和

按表中的分组记录运行总计

具有最大内存效率的增量中值计算

对列值进行排序以匹配另一个表列中值的顺序