mysql - 对不同字段中的相同值进行分组和计数

标签 mysql sql

我的英语不好,所以我向您展示我需要的示例。

包含这些列的表格:

id | name1 | name2

我需要将这两个查询的结果转换为一个

SELECT name1, COUNT(name1) as a
FROM partidos
GROUP BY name1
ORDER BY a DESC;

SELECT name2, COUNT(name2) as b
FROM partidos
GROUP BY name2
ORDER BY b DESC;

结果是“a + b”,我需要在一个查询中得到这个总和。

示例:

1 | james | carolina
2 | carolina | rupert
3 | mordor | james
4 | carolina | mordor
5 | paul | carolina

结果:

carolina 4
james 2
mordor 2
rupert 1
paul 1

最佳答案

如果要计算name1name2中“名称”的数量,请使用union all:

select name, count(*)
from ((select name1 as name
       from partidos
      ) union all
      (select name2 as name
       from partidos
      )
     ) p
group by name
order by count(*) desc;

关于mysql - 对不同字段中的相同值进行分组和计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29055418/

相关文章:

php - WooCommerce 小部件 - 从日期到日期的订单列表

mysql - 如何使用 mysqldump 保存 UTF8mb4 数据?

sql - 为什么关系在 SQL 实现中很重要?

mysql - 我如何使用选择查询在 mysql 中编写更新语句?

mysql - 如何获取最小函数结果的列名?

php - 在第一次选择时更改第二次选择的值

PHP 更新用户帐户详细信息未显示错误但帐户详细信息未更新

php - 将文件导入 mysql 数据库导致口音错误

mysql - 如何在 MySQL 中的 3 个以上的表之间创建一个中间表

Mysql:如何正确生成当前一组数字上不存在的唯一10位随机数