簡體   English   中英

如何在mysql中獲取所有類似的命名記錄

[英]How to get all similar named records in 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次,等等)

表明:

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

從第二個SQL中刪除tert ,它將按預期工作。

更改為

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

這個

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

SELECT tert, SUBSTRING_INDEX(product_name,' ',1) as product, sum(quantity) as qty
FROM my_table 
GROUP BY tert, product
ORDER BY tert, product

您的結果將按tert排序,因此您可以逐一瀏覽顯示產品數量,並在每次tert更改時顯示tert

UPDATE :一個代碼示例如何輸出數據(未測試):

$tert = null;
foreach($rows as $row){
    if($rows['tert'] != $tert){
        $tert = $rows['tert'];
        echo $tert;
    }
    echo $row['product'], "-", $row['qty'];
}

$rows所有提取的行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM