繁体   English   中英

MySQL内部连接与计数查询

[英]mysql inner join with count query

我有以下查询以提取属性。 属性具有多个单位。 我不知道如何拉至少1个单位的属性。 单元通过具有相同的“团队”连接到属性。 “团队”是varchar(例如“ jkdgsl”)。 有什么建议么?

SELECT DISTINCT Properties.id, Properties.title, Properties.team
FROM Properties
INNER JOIN Units ON Units.team = Properties.team 
AND Units.rates != '0' 
AND Properties.deleted =  '0000-00-00 00:00:00'
AND Properties.zip_code
IN (
'77808',  '77845'
)
AND Properties.public =  '1'
ORDER BY FIELD( Properties.zip_code,  '77808',  '77845' ) 
LIMIT 0 , 30

我认为您已经按照内部联接的性质进行了此操作(即选择具有至少一个单位的属性)。

我同意@Razvan如果您还想要单位计数,请使用:

 SELECT DISTINCT Properties.id, Properties.title, Properties.team, COUNT(Units.<em>someOTHERcolumn</em>) FROM Properties INNER JOIN Units ON Units.team = Properties.team AND Units.rates != '0' AND Properties.deleted = '0000-00-00 00:00:00' AND Properties.zip_code IN ( '77808', '77845' ) AND Properties.public = '1' GROUP BY Properties.id ORDER BY FIELD( Properties.zip_code, '77808', '77845' ) LIMIT 0 , 30 

如果只是一个或多个,则可以使用COALESCE

WHERE COALESCE( Properties.id, Properties.title, Properties.team ) IS NOT NULL

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM