如何在mysql中使用select查询从表中删除相同的行

如何在mysql中使用select查询从表中删除相同的行,mysql,Mysql,我使用下面的查询从两个表中获取数据,但它给了我重复的记录 $query = "SELECT * FROM animals,birds"; 如何删除mysql中的重复记录。我尝试使用DISCTINCT关键字,但这不起作用,而且UNION也不起作用,因为两个表中的列数不同 动物标识,动物表中的名称 birds_id,birds表中的name您正在对动物表中的所有行与birds表中的所有行进行笛卡尔乘积: $query = "SELECT * FROM animals,birds"; e、 如果你

我使用下面的查询从两个表中获取数据,但它给了我重复的记录

$query = "SELECT * FROM animals,birds";
如何删除
mysql
中的重复记录。我尝试使用
DISCTINCT
关键字,但这不起作用,而且
UNION
也不起作用,因为两个表中的列数不同

动物标识,动物表中的名称
birds_id,birds表中的name

您正在对动物表中的所有行与birds表中的所有行进行笛卡尔乘积:

$query = "SELECT * FROM animals,birds";
e、 如果你有10只动物和4只鸟,你将有40排。您可能需要加入:

select
  animals.*, birds.*
from
  animals inner join birds on birds.animal_id = animals.id

(准确的查询取决于您的数据库结构)

您是否尝试过分组依据?请向我们显示两个表的列,并让我们知道哪些字段包含重复行我应该按哪个字段分组?您可以发布两个表的架构吗?请告诉我们这两个表的关系列