MYSQL 删除重复项并添加他们的 Cnt 列

MYSQL Remove Duplicates and add Column of their Cnt

我有一个有 6 列和数千行的 mysql table。我想添加另一列标题为 "count of reports"。首先,应该知道 table 中的某些行是相同的。它们并不完全重复,而是有一个完全相同的值的单独实例。所以我想做的是将所有重复行折叠成一行,并将这些行的计数(所有重复行的计数加上“原始”)添加到相邻的 "count of reports" 列。因此,只有该行的任何行的相邻 "count of reports" 值为 1。我将如何处理这个问题。就本次查询而言,我的table名称是公司,数据库是公司,六个初始列名称是卖家、一、二、三、四和类型。

下面的查询给出了整个 table,有六列和大约两千行。

select seller, IFNULL(one,""), IFNULL(two,""), IFNULL(three,""), 
IFNULL(four,""), types from companies.company  
order by seller, one, two, three, four, types;

我要向 this/how 添加什么?我会更改它以计算 table 的重复行、删除它们并将计数添加到相邻列吗?

我想你只是想要 group by:

select  seller, one, two, three, four, types, count(*)
from companies.company c
group by seller, one, two, three, four, types, count(*);

如果你真的想修改table,那我推荐如下:

  • select上面的结果变成了临时的table
  • 截断原来的table
  • 添加计数列
  • 将数据重新插入 table

但是,我不确定您是否真的要更改源数据。