如何计算具有相似值的字段数

时间:2012-11-20 18:26:41

标签: mysql

我有很多单词在数据库中重复了很多,我需要知道每个单词重复了多少......我尝试了不同的查询..

    SELECT word_name,SUM(`word_name`) AS word_count
FROM `words` 
WHERE `search_id`=5 
GROUP BY word_count

但它不起作用..它给了我:#1056 - 无法分组'word_count'

好的,我找到了办法:

  SELECT word_name,COUNT(`tweet_id`) AS word_count
FROM `words` 
WHERE `search_id`=5 
GROUP BY word_name

lol ..现在需要订购整件事......最好的办法是什么呢......它是否可以放入子查询?

4 个答案:

答案 0 :(得分:1)

您希望count()类似word_name的数量:

SELECT count(`word_name`) AS word_count, `word_name` 
FROM `words` 
WHERE `search_id`=5 
GROUP BY `word_name`
ORDER BY word_count

请参阅SQL Fiddle with Demo

我会将word_name添加到最终结果中,以便您知道哪个计数与每个单词相关联

答案 1 :(得分:0)

而不是SUM()尝试COUNT()

GROUP BY word_name

之前添加ORDER BY

答案 2 :(得分:0)

试试这个: -

 SELECT count(`word_name`) AS word_count, `word_name` 
FROM `words` 
WHERE `search_id`=5 
GROUP BY `word_name`
 ORDER BY word_count

答案 3 :(得分:0)

尝试

SELECT word_name,count(`word_name`) AS word_count
FROM `words` 
WHERE `search_id`=5 
GROUP BY count(`word_name`)

您不能在GROUP BY或WHERE子句中使用别名,除非它们位于SUB-QUERY

相关问题