2

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

Mercedes, BMW
Range Rover
Mazda, Toyota, Honda

我想知道如何CarMakes在每一行中返回一个数字。

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

4

3 回答 3

1

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

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

我确信这会在某处遇到问题,但如果您的情况不包含随机逗号,它可能会起作用。您可以在此处查看 SQLFiddle 。

于 2012-11-16T15:16:45.447 回答
0
SELECT COUNT(CarMakes), CarMakes FROM cartable ORDER BY CarMakes ASC
于 2012-11-16T15:10:14.493 回答
0

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

  1. String.Split - 计算数组元素。
  2. 查找字符串中出现的字符- 计数逗号。
于 2012-11-16T15:35:56.617 回答