'SELECT count(`houses`.`color`) AS `count`,
        `houses`.`color`
FROM    `user_houses`
JOIN    `houses` ON `houses`.`id` = `users_houses`.`house`
GROUP BY `houses`.`color`'


这是我用来按颜色属性(在房屋表格中)对房屋进行计数的语句。

每个房子都有一个样式名称。我需要计算不同的样式,而不是不同的颜色。问题在于样式在另一个表(样式)中,该表具有一个house_id,该house_id从房屋中匹配house_id。

我已经试过了:

'JOIN houses AND styles SELECT count(`style`.`color`) AS `count`, `houses`.`style` FROM `user_houses` 'JOIN `houses` ON `houses`.`id` = `user_houses`.`house` GROUP BY `houses`.`color`'

最佳答案

提供有限的信息:您需要加入具有风格的房屋。
即使您提到的查询,也有不必要的user_houses连接。尝试这个 :

SELECT count(`styles`.`house_id`) AS `count`,
        `styles`.`house_id`
FROM    `houses`
INNER JOIN    `styles` ON `houses`.`house_id` = `styles`.`house_id`
GROUP BY `styles`.`house_id`

09-27 10:40