MySQL:按多个列分组,不提供精确的结果

MySQL:按多个列分组,不提供精确的结果,mysql,database,group-by,Mysql,Database,Group By,我有一个包含5列的表,即: 在\u 1之前,在\u 2之前,在\u 3之前,规则,名称 其中,在文档中,在名称/单词之前的三个单词是在_1之前、在_2之前和在_3之前 我想找到的是: 这两个词出现在一个名字之前。我不想只看最上面的单词,而是所有单词都按出现次数排序 我尝试了以下几个问题,但对我来说不起作用 select count(before_2),count(before_3),name from data_with_before_words group by name; 我得到了两列相同

我有一个包含5列的表,即:

在\u 1之前,在\u 2之前,在\u 3之前,规则,名称

其中,在文档中,在名称/单词之前的三个单词是在_1之前、在_2之前和在_3之前

我想找到的是:

这两个词出现在一个名字之前。我不想只看最上面的单词,而是所有单词都按出现次数排序

我尝试了以下几个问题,但对我来说不起作用

select count(before_2),count(before_3),name from data_with_before_words group by name;
我得到了两列相同的计数,这不是我所期望的

示例数据:

前5行:

before_1,before_2,before_2,rule,name

a,league,of,Persona,Amell
the,assasin,of,Persona,Amell
the,league,of,Persona,Amell
a,assasin,of,Persona,Amell
a,league,of,Persona,Amell
预期产出:

league,of,3,Amell
assasin,of,2,Amell
任何帮助都将不胜感激。

请尝试以下查询:

select count(res1.comWords) as occurrences, res1.name from (select concat(before_1,"-", before_2) as comWords, name from data_with_before_words) res1 group by res1.name order by occurrences desc;
请尝试以下查询:

select count(res1.comWords) as occurrences, res1.name from (select concat(before_1,"-", before_2) as comWords, name from data_with_before_words) res1 group by res1.name order by occurrences desc;
试试这个

SELECT before_2,before_3,name FROM data_with_before_words GROUP BY before_2,before_3,name Having count(*)>=1
试试这个

SELECT before_2,before_3,name FROM data_with_before_words GROUP BY before_2,before_3,name Having count(*)>=1

要获得预期的输出,可以使用以下查询

select before_2,before_3,name,count(*)
from data_with_before_words 
group by before_2,before_3,name
order by count(*) desc

要获得预期的输出,可以使用以下查询

select before_2,before_3,name,count(*)
from data_with_before_words 
group by before_2,before_3,name
order by count(*) desc

最好包含与您的问题相关的样本和预期数据。请添加输入数据和预期输出。您希望添加示例。请参阅最好包含与您的问题相关的样本和预期数据。请添加您希望添加示例的输入数据和预期输出。请参阅