Mysql 在UNION'中防止重复时的增量字段;ed查询

Mysql 在UNION'中防止重复时的增量字段;ed查询,mysql,Mysql,我有多个SELECT查询已联合。复合主键是防止重复,这正是我想要的。是否有一种方法可以在禁止从联合查询中插入重复行时增加某个字段?您可以使用UNION ALL保留重复行,然后将结果与外部查询分组: SELECT a, b, c, COUNT(*) FROM ( SELECT a, b, c FROM ... UNION ALL SELECT a, b, c FROM ... ) AS t GROUP BY a, b, c 您是否指定了“全部联合”?默认情况下,UNION是DISTI

我有多个SELECT查询已联合。复合主键是防止重复,这正是我想要的。是否有一种方法可以在禁止从联合查询中插入重复行时增加某个字段?

您可以使用
UNION ALL
保留重复行,然后将结果与外部查询分组:

SELECT a, b, c, COUNT(*)
FROM (
  SELECT a, b, c FROM ...
  UNION ALL
  SELECT a, b, c FROM ...
) AS t
GROUP BY a, b, c

您是否指定了“全部联合”?默认情况下,
UNION
DISTINCT
…不,我希望结果是不同的。我只是想知道我的误解。见下面我提议的答案。