mysql - 计算每个唯一元素在 `select` 查询中出现的次数

标签 mysql sql select count

我有一个包含数百万条记录的 MySQL 数据库,表的索引很好。下面是表结构。

enter image description here

我在我的表中运行了以下代码。

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' 

现在此代码生成以下输出(显示了一小部分输出)。

enter image description here

然而,这不是我需要的。我需要的是一个键值对,它显示每个单独的元素在结果中出现的次数。有点像

[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/

相关文章:

mysql - 如何单独计算匹配的行?

mysql - 从列数

mysql - PHP/Mysql 如何将另一个表加入到搜索查询的匹配中

mysql - 无法添加或更新子行

mysql - 如何使用if函数从一个表获取数据到另一个表

PHP MySQL 将多个 fetchcolumn 组合成一个查询

php - UTF-8贯穿始终

mysql - 如果在表中找不到数据字段,则返回值 0 或 0.00 - MySql

sql - 非数字列中的SQL MAX函数

mysql - 通过合并名为 luckydraw_weekone、luckydraw_weektwo 的三个表来显示用户表中现有的电子邮件,所有参与者的字段都为电子邮件