簡體   English   中英

當每行有多個數據用逗號分隔時,如何統計各行的值總數?

[英]How to count the total number of values from various rows, when each row has multiple data seperated by comma?

我有一個只有1列的數據庫表。 表中的每一行/單元格都包含許多以逗號分隔的值。 一些單元格包含NULL(無值)。 我想獲得所有行中的數字總數。 (使用php和mysql)


| 表|

| 32,33 |

| 21 |

| NULL |

| 45,61,52 |

因此,數據總數應為6,即第1行為2,第2行為1,第4行為3。

值計數將是+1而不是逗號計數。 但是如果列沒有逗號,則它應該為零。 所以這將有效:

SELECT sum(LENGTH('col1') - LENGTH(REPLACE('col1', ',', ''))+1) AS total 
FROM table1 WHERE LENGTH('col1')>0 

使用php 提取數組中的所有值,並使用explode獲取值的總數。

$i=0;
while(mysqli_num_rows($result) >0)
{
  while($row = mysqli_fetch_array($conn, $result))
  {
    $data_elements = explode(',',$row['data']); // extract all the comma seperated value in array
    $i += count($data_elements); //count them all
  }
}
echo $i; // these are your total number of values

希望它有幫助:)

這假定逗號表示一個值

    SELECT sum(LENGTH('field1') - LENGTH(REPLACE('field1', ',', ''))+1) 
AS comma_sum from table1

測試一下,讓我知道它是怎么回事

暫無
暫無

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

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