2016-04-06 1 views
1

私はそうのようなテーブルがある場合:私はそこにあるどのように多くの異なる単語を表示するにはどうすればよいsqlの列にはいくつの単語があるのか​​を調べる方法は?

  • アップル
  • オレンジ
  • オレンジ

を? この例では、3次のようになります。

  1. アップル
  2. オレンジ
+1

ヒント記述する必要があるため、これは、唯一の2果物の組み合わせに対して適用されます。distinct'選択 'by''グループをか。 –

+0

私がそれを理解していれば、SQLに別個の成果を数えさせたいと思う。 –

+0

あなたはselect distinctがどのように使用されるかの例を私に示してもらえますか? @GordonLinoff –

答えて

3
SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name 
+0

「りんご、オレンジ」が1行であれば。果物をコンマの間で2つに分けることは可能でしょうか? –

+0

まあ、 "リンゴ、オレンジ"という文字列全体を検索するので、上記のクエリではできません。おそらく、クエリを実行する前にいくつかの前処理を行うことができますか? –

1
  1. なしを取得すること。 diff単語のうち、group byまたはdistinctのいずれかを使用できます。 select words_column_name, count(words_column_name) as no_of_repetation from table_name group by words_column_name。 またはちょうどselect distinct(words_column_name) from table_name

2.Toは単語を分割し、そこにビルド機能ではありませんですが、(部分文字列を使用してそれを行うことができます)&は(探し)。以下のような:

SUBSTRING_INDEX(SUBSTRING_INDEX(fullword, ',', 1), ',', -1) AS first_fruit, 
    TRIM(SUBSTR(fullname, LOCATE(',', fullword))) AS last_fruit 

しかし、より多くのあなたには、いくつかのPHPスクリプトやMySQLの機能