我有一个包含数百万条记录的 MySQL 数据库,表的索引很好。下面是表结构。
我在我的表中运行了以下代码。
SELECT `iwebs` FROM `wordstable` WHERE `iwebs` LIKE 'a1' or `iwebs` LIKE 'a2' or `iwebs` LIKE 'a3' or `iwebs` LIKE 'a4' or `iwebs` LIKE 'a5' or `iwebs` LIKE 'a6' or `iwebs` LIKE 'a7' or `iwebs` LIKE 'a8' or `iwebs` LIKE 'a9' or `iwebs` LIKE 'a10'
现在此代码生成以下输出(显示了一小部分输出)。
然而,这不是我需要的。我需要的是一个键值对,它显示每个单独的元素在结果中出现的次数。有点像
[a1,400]
[a2,100]
[a3,5]
[a5,500]
........
在上面的示例中,每个括号中的第一项表示单个元素出现在 select
查询中,第二项表示它出现的次数。
换句话说就是“a1在select查询中出现了400次”,“a2在select查询中出现了100次”,“a3在select查询中出现了5次”,“a5在select查询中出现了500次”等等上。
我如何在 SQL 中执行此操作?
最佳答案
试试这个:
SELECT iwebs , COUNT(iwebs) FROM wordstable GROUP BY iwebs
针对特定要求进行编辑
SELECT iwebs , COUNT(iwebs) FROM wordstable WHERE `iwebs` IN
('a1','a2','a3','a4','a5','a6','a7','a8','a9','a10') 按 iwebs 分组
关于mysql - 计算每个唯一元素在 `select` 查询中出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23284845/