如何仅对某些表变量使用distinct?

时间:2016-08-13 23:49:37

标签: mysql sql

我正在尝试使用' distinct'在所有Home(表名)变量上,我也从其他表中选择其他变量。我怎样才能为Home变量/或仅某些列选择不同的选择?

此查询对所有变量使用distinct,包括anotherTable的变量。

这是我的查询

 SELECT distinct f.q_id, f.var2, f.var3, f.var4, m.var22
 FROM Home f, anotherTable m
 WHERE f.q_id = m.q_id 

我尝试使用distinct来单独包装变量,但这不允许我对变量做出不同的偏好。

2 个答案:

答案 0 :(得分:1)

尝试此操作,仅从Home选择DISTINCT数据,从另一个表选择ALL:

SELECT t.q_id, t.var2, t.var3, t.var4, m.var22
FROM anotherTable m
INNER JOIN (SELECT DISTINCT 
             f.q_id, f.var2, f.var3, f.var4 FROM Home f) t ON t.q_id = m.q_id

答案 1 :(得分:0)

一种方法使用group by

SELECT f.q_id, f.var2, f.var3, f.var4, MAX(m.var22)
FROM Home f JOIN
     anotherTable m
     ON f.q_id = m.q_id 
GROUP BY f.q_id, f.var2, f.var3, f.var4;