mysql - 从 Union 获得独特的值(value)

标签 mysql distinct union

场景:

Table A
MAPPING_ID    USER_TYPE    MODIFIED_ON
--------------------------------------

Table B
MAPPING_ID    ITEM_TYPE    MODIFIED_ON
--------------------------------------

我想获取最近一分钟修改过的记录[MAPPING_ID]

(SELECT mapping_id FROM A WHERE modified_on > date_sub(now(),interval 1 minute) 
UNION 
(SELECT mapping_id from B WHERE modified_on > date_sub(now(),interval 1 minute) 

但问题是,结果中可能存在重复的mapping_id!如何在 UNION 上获取distinctmapping_id?

最佳答案

UNION 默认情况下会删除重复行,除非您使用 UNION ALL,请参阅 http://dev.mysql.com/doc/refman/5.0/en/union.html

如果您想手动执行此操作:

SELECT DISTINCT * FROM (
(SELECT mapping_id FROM A WHERE modified_on > date_sub(now(),interval 1 minute) 
UNION 
(SELECT mapping_id from B WHERE modified_on > date_sub(now(),interval 1 minute) 
) subsub

关于mysql - 从 Union 获得独特的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28047454/

相关文章:

mysql - 找出两个不同查询 SQL 的总数之间的差异

php - 使用 PHP 从接口(interface)到 MySQL 的 CSV 数据

sql - 为什么带有 NULL 列的 count( distinct ) 在 Hive SQL 中返回 0?

C# LINQ 使用 DISTINCT 计算元素

mysql - 此任务的有效查询是什么

python - django 中的分组依据、不同值、计数

MySQL DISTINCT 在一个列上且与另一列不匹配

c# - 在 C# 中使用 StructLayout 联合

php - 2 个 SELECT 语句与 UNION 与 MySQL-PHP 中其他任何语句的性能/效率

带有两个 ORDER BY 子句的 mySQL UNION 子句