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

T-SQL / MS SQL Server を想定すると、次の 2 つのオプションがあります。

  1. String.Split - 配列要素を数えます。
  2. 文字列内の文字の出現を検索- カンマを数えます。
于 2012-11-16T15:35:56.617 に答える
0
SELECT COUNT(CarMakes), CarMakes FROM cartable ORDER BY CarMakes ASC
于 2012-11-16T15:10:14.493 に答える