mysql - 在一个字符串中连接 2 列,然后为每个连接获取一个计数

标签 mysql

我想连接 2 列,然后计算行数,即合并列字符串存在的总次数,但我不知道这是否可能。例如:

SELECT 
    CONCAT(column_1,':',column_2 ) as merged_columns, 
    COUNT(merged_columns) 
FROM 
    table 
GROUP BY 1
ORDER BY merged_columns DESC

注意:我作为字符串的一部分插入的冒号,所以我的结果类似于 12:3。然后“计数”应该告诉我 column_1 =12 和 column_2 = 3 处存在的行数。

显然,它告诉我“merged_columns”不是列,因为它只是我的 CONCAT 的别名。但这是可能的吗?如果可能,如何实现?

最佳答案

我知道这是个老问题,但是下面的问题应该可以在没有临时表的情况下工作(除非我遗漏了什么):

SELECT 
    CONCAT(column_1,':',column_2 ) as merged_columns, 
    COUNT(CONCAT(column_1,':',column_2 )) 
FROM 
    table 
GROUP BY 1
ORDER BY merged_columns DESC

关于mysql - 在一个字符串中连接 2 列,然后为每个连接获取一个计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973529/

相关文章:

mysql - 在 Left Join 上仅向一张表添加 WHERE 子句?

php - wordpress posts_orderby 过滤器与插件中的自定义表

mysql - 如何使用左连接减去值的总和?

mysql - 如何选择 MySQL 表中最后一个实体之前的一个

mysql 存储过程正则表达式

java - 追加两个 hibernate 查询列表并存储在第三个查询列表中

MySqlDataReader 不返回数据

php - 按日期排序并允许重复日期时获取 MySQL 中的上一条和下一条记录

mysql - 在 MySql 中存储可搜索的 JSon

php - JSON 错误 : Unterminated object on valid json text