php - 如何在mysql中获取所有相似命名的记录

标签 php mysql

我有一个包含存储如下数据的表:

product_name | quantity | tert
ASIZ A4 100 FOX | 20| BUYER1
CERVEZA A6 150 FOX | 15| BUYER1
ASIZ A4 150 FOX | 40| BUYER1   
CERVEZA A6 11 FOX | 15| BUYER1
QUINTA A6 150 FOX | 15| BUYER2
ASIZ A4 150 FOX | 33 | BUYER2
ASIZ A6 150 FOX | 15| BUYER2
CERVEZA A6 150 FOX | 15| BUYER2

我想检索所有匹配第一个单词的数据(例如 ASIZ),然后将数量相加并显示如下:

BUYER1
Asiz - 60 pcs.
Cerveza = 30 pcs.
etc.

BUYER2
Asiz = 48 pcs.
Cerveza = 15 pcs.

等等

目前我正在使用 2 个 while 循环:

SELECT DISTINCT product_name 
FROM my_table 
WHERE buyer_code= '".$bcode."' 
GROUP BY product_name

-- 我得到了产品名称

然后

SELECT DISTINCT product_name,tert, SUM(quantity) AS quantity 
FROM my_table 
WHERE buyer_code ='".$bcode."' AND 
      prouct_name LIKE '".$first_word_of_product_name."%' 
GROUP BY tert
ORDER BY data ASC

我的总和是正确的,但每次它发现相似的命名产品时都会列出它们(例如:BUYER1: ASIZ - 2 times 等)

它显示:

Buyer1
ASIZ - 60
Cerveza - 30
ASIZ - 60
Cerveza - 30

我知道跟product_name有关系,但是sql语句应该怎么写才行呢? 谢谢

最佳答案

SELECT SUBSTRING_INDEX(product_name, '.', 1) product, tert, SUM(quantity) quantity
FROM my_table
GROUP BY product, tert

关于php - 如何在mysql中获取所有相似命名的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12215743/

相关文章:

javascript - 如何找到生成XMLHttpRequest的页面的文件名?

Mysql数据选择特定价格范围、产品限制和其他过滤

mysql - 标签数据库关系数据的优势

java - 将 UTC JodaTime.DateTime 对象转换为另一个时区的时间戳

php - 如何拥有一个由 Apache 提供服务的 Flask 网站以及位于/blog 的 WordPress 博客?

PHP 在 session 过期时运行脚本

php - 使用未定义常量 SIGTERM -> 假定为 'SIGTERM'

php - 查找数组中缺失的数字

php - 收集统计数据,例如网页的浏览量

php - 在我的数据库中构建 "pages"的启用和排列