計算MySQL 中逗號分隔清單中的項目數
決定儲存在MySQL 欄位中的逗號分隔清單中的項目數可以是數據分析中的常見任務。
使用字串長度操作
要在不使用其他函數的情況下實現此目的,您可以利用原始列表字串與其逗號剝離對應項之間的差異:
LENGTH(fooCommaDelimColumn) - LENGTH(REPLACE(fooCommaDelimColumn, ',', ''))
此表達式減去長度從原始字串長度中刪除逗號的字串。由於逗號會影響總長度,因此缺少逗號表示項目的數量。
尾隨逗號處理
請注意,在這種情況下,提供的數據包括附加的尾隨逗號逗號。這是特別相關的,因為傳統的字串長度計算包括這個尾隨逗號,導致計數不正確。透過使用 REPLACE 函數排除它,可以獲得準確的計數。
沒有尾隨逗號的一般情況
一般情況下,逗號分隔的字符串沒有逗號分隔的字符串尾隨逗號,例如“foo,bar,baz” ,修改後的表達式是必要:
LENGTH(col) - LENGTH(REPLACE(col, ',', '')) + 1
額外的 1解決了缺少的尾隨逗號,確保正確的項目計數。
透過採用這些字串操作技術,您可以有效地計算逗號內的項目 -使用純 SQL 查詢分隔清單。
以上是如何計算 MySQL 中逗號分隔清單中的項目數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!