场景:
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
上获取distinct
mapping_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/