计算每个元素在“搜索”中出现的次数

时间:2014-04-27 06:58:22

标签: mysql sql database select count

请查看以下查询

SELECT `indexVal` FROM `key_word`WHERE `hashed_word` IN ('001','01v','0ji','0k9','0vc','0@v','0%d','13#' ,'148' ,'1e1','1sx','1v$','1@c','1?b','1?k','226','2kl','2ue','2*l','2?4','36h','3au','3us','4d~')

这将选择indexVal列表。结果的小屏幕截图如下。

enter image description here

但这不是我需要的。我需要知道每个indexVal出现在“搜索”中的“多少次”。举个例子,比如

[1,400] [30,30000] [5555,78789]

在上面,假设每个单一括号代表表格中的一行。第一个项目是第一行,代表indexVal。第二项是第二列,表示indexVal在搜索中出现的次数。

我的SQL知识不好,现在开始阅读。那么,我该怎么做呢?我感谢你的建议。

我需要知道每个项目在“搜索”中出现的次数,而不是“表格”

2 个答案:

答案 0 :(得分:2)

为了计算,您可以使用

SELECT 
`indexVal`,count(*) as `total` 
FROM `key_word`
where
`hashed_word` IN ('001','01v','0ji','0k9','0vc','0@v','0%d','13#' ,'148' ,'1e1','1sx','1v$','1@c','1?b','1?k','226','2kl','2ue','2*l','2?4','36h','3au','3us','4d~')
group by `indexVal`

答案 1 :(得分:2)

试试这个:

select indexval,count(indexval) from key_word where hashed_word IN ('001','01v','0ji','0k9','0vc','0@v','0%d','13#' ,'148' ,'1e1','1sx','1v$','1@c','1?b','1?k','226','2kl','2ue','2*l','2?4','36h','3au','3us','4d~')    group by indexval