SQL字符串计数

时间:2012-11-16 15:08:31

标签: sql

我在SQL中有一个表。我有一个名为CarMakes的列,它包含以下内容:

Mercedes, BMW
Range Rover
Mazda, Toyota, Honda

我想知道如何在每一行中返回一些CarMakes

返回值应分别为2,1和3。

3 个答案:

答案 0 :(得分:1)

这是一个基于MySQL的答案,因此如果您使用其他内容,可能不适合您的情况。这假设值是逗号分隔的并且在同一列中(非常假设:)):

SELECT car, (LENGTH(car)-LENGTH(REPLACE(car, ',', ''))+1) AS 'Counts'
FROM CarMakes

我确定这会在某个地方遇到问题,但如果您的情况不包含随机逗号,它可能会有效。你可以看到SQLFiddle here

答案 1 :(得分:0)

SELECT COUNT(CarMakes), CarMakes FROM cartable ORDER BY CarMakes ASC

答案 2 :(得分:0)

假设T-SQL / MS SQL Server,您有两个选择:

  1. String.Split - 计算数组元素。
  2. Find occurrence of character in String - 数逗号。