我有一个名为key_uniqueWord
的MySQL表。这就是它的样子。
这是表格的创建方式..
CREATE TABLE `key_uniqueword` (
`p_id` int(11) NOT NULL,
`word` varchar(45) NOT NULL,
`uniqueWordCount` int(11) NOT NULL,
KEY `conv4` (`uniqueWordCount`,`p_id`,`word`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1
我可以从以下命令获取word
列中每个唯一个体记录的列表。
SELECT DISTINCT `word` from `key_uniqueword`
我可以检查一下"特别" word
列中的单个元素使用以下命令出现在key_uniqueword
表中。例如,让我们检查单词" about"
SELECT COUNT(`word`) FROM `key_uniqueword` WHERE `word`="about"
就像这样,我需要知道多少次"每个" word
列中的唯一元素显示在key_uniquword
表格中。我期待输出类似于下表结构。它有2列,字和计数
word | count
_ _ _ _ _ _ _ _ _
about | 99,450
a | 1000
talk | 7980
men | 20,915
如何在MySQL查询中执行此操作?
重要
请注意p_id
每行都不相同。
答案 0 :(得分:2)
select word, count(*) as count
from key_uniqueword
group by word
答案 1 :(得分:1)
select word, count(1)
from key_uniqueword
group by word;
答案 2 :(得分:1)
SELECT word, count(*) as occurance FROM key_uniqueword GROUP BY word;
恕我直言,如果您有第三列存储字数,那么它将是一个非常弱的数据库设计并将导致冗余/重复,我的观点是count
在您的情况下是派生属性。你不应该为此浪费你的存储空间。
在某些情况下,最好将派生属性保存在数据库中以加快查询速度,但我认为您不需要它。
答案 3 :(得分:1)
正确的查询是:
从word
key_uniqueword
)来自word
组的AS计数