【问题标题】:How to find how many different words there are in a column in sql?如何在sql中查找一列中有多少个不同的单词?
【发布时间】:2016-04-06 00:08:40
【问题描述】:

如果我有这样的表:

  • 苹果
  • 橙色
  • 橙色

如何查看有多少个不同的单词? 在此示例中,它将是三个:

  1. 苹果
  2. 橙色

【问题讨论】:

  • 提示:group byselect distinct
  • 如果我理解它,你需要一个 SQL 来计算不同的水果。
  • 你能告诉我一个例子来说明如何使用 select distinct 吗? @GordonLinoff
  • @EddeAlmeida 没错
  • 那么你只需要一个SELECT DISTINCT。看到这个:tutorialspoint.com/sql/sql-distinct-keyword.htm

标签: php mysql sql


【解决方案1】:
SELECT COUNT(DISTINCT column_name) AS some_alias FROM table_name

【讨论】:

  • 如果我有一排有“苹果,橙子”。是否可以在逗号之间将水果一分为二?
  • 好吧,你不能用上面的查询来做到这一点,因为它会寻找整个字符串“Apples, Oranges”。也许您可以在运行查询之前进行一些预处理?
【解决方案2】:
  1. 获取编号。您可以使用group bydistinct 的差异词。 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.要拆分单词,构建函数中没有,但是您可以使用substring() & locate() 来完成。喜欢:

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

但这只适用于2个水果组合,更多的你需要写一些php脚本或mysql函数

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-11
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多