主查询和子查询中的DISTINCT子句

时间:2015-07-17 05:45:51

标签: mysql

以下是我的询问:

SELECT DISTINCT(di.device_token) FROM device_info di WHERE di.IMEI_number IN (SELECT DISTINCT(ud.device_id) FROM user_details ud WHERE ud.device_OS='android')

由于IN子句,此查询需要花费大量时间才能执行。我发现使用连接是最好的方法。但是,我无法确定如何在两个表上使用DISTINCT

欢迎任何建议。

2 个答案:

答案 0 :(得分:1)

尝试以下查询 -

SELECT distinct (di.device_token) FROM device_info di,user_details
where di.IMEI_number in (user_details.ud.device_id)
and ud.device_OS='android';

答案 1 :(得分:0)

试试这个:

SELECT di.device_token FROM device_info di 
JOIN user_details ON user_details.ud.device_id = di.IMEI_number
WHERE ud.device_OS='android'
GROUP BY di.device_token