Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MYSQL不同列行对查询_Php_Mysql_Mariadb - Fatal编程技术网

Php MYSQL不同列行对查询

Php MYSQL不同列行对查询,php,mysql,mariadb,Php,Mysql,Mariadb,想象一个联系人表,同一个联系人有多个条目,但数据不同。如何选择这些数据进行审查?不幸的是,由于可能存在视觉上可识别的错误数据,而这些数据目前未被设想为自动处理,因此进行分类合并是不可取的 FName LName Email Phone Heywood Yapinchme 555-555-555 Heywood Yapinchme hy@moes.com

想象一个联系人表,同一个联系人有多个条目,但数据不同。如何选择这些数据进行审查?不幸的是,由于可能存在视觉上可识别的错误数据,而这些数据目前未被设想为自动处理,因此进行分类合并是不可取的

FName         LName           Email           Phone
Heywood       Yapinchme                       555-555-555
Heywood       Yapinchme       hy@moes.com               
Seymour       Butz            sb@moes.com   
Seymour       Butz                            555-555-556
Seymour       Butz            
Hughe         Jass            hj@moes.com     555-555-557
Amanda        Hugginkiss      ah@moes.com
我只希望看到前两列的副本,其中存在多个条目。i、 e

FName         LName           Email           Phone
Heywood       Yapinchme                       555-555-555
Heywood       Yapinchme       hy@moes.com               
Seymour       Butz            sb@moes.com   
Seymour       Butz                            555-555-556
Seymour       Butz            
下一步的审查是在蓝色乙醚。目前大约有一百万排,巴特一直很忙。但这不是常规操作,而是处理数据迁移的一次性操作,所以可能会有点伤痕


我尝试过使用
SELECT DISTINCT
groupby
进行一些操作,但似乎只是返回到每个联系人的列表中。

您可以使用聚合来识别重复项:

SELECT FName, LName
FROM tablename
GROUP BY FName, LName
HAVING COUNT(*) > 1
SELECT *
FROM tablename
WHERE (FName, LName) IN (
  SELECT FName, LName
  FROM tablename
  GROUP BY FName, LName
  HAVING COUNT(*) > 1
)
如果您想要所有重复的行:

SELECT FName, LName
FROM tablename
GROUP BY FName, LName
HAVING COUNT(*) > 1
SELECT *
FROM tablename
WHERE (FName, LName) IN (
  SELECT FName, LName
  FROM tablename
  GROUP BY FName, LName
  HAVING COUNT(*) > 1
)
如果您的MySql/MariaDB版本支持窗口功能:

SELECT t.*
FROM (
  SELECT *, COUNT(*) OVER (PARTITION BY FName, LName) counter
  FROM tablename
) t
WHERE t.counter > 1

我正在使用php、mysql或mariadb。欢迎任何解决方案。非常感谢。对你的帮助表示小小的祝福,也许是照亮你生命的东西;愿花儿常在你的路上,愿阳光照亮你的一天。愿鸣鸟为你的每一步唱小夜曲。愿彩虹在永远蔚蓝的天空中与你并驾齐驱。愿你的一生每天都充满幸福。