我的表是这个。
users_table: id | name | admin | property_id ----------------------------------- 1 | x | 1 | 0 2 | y | 1 | 0 3 | z | 0 | 1 4 | t | 0 | 2 4 | u | 0 | 2 4 | o | 0 | 2
我有两个records这是admin和其他一些records它通过匹配属于这两个记录一个property_id用id。最后,我想要的是admin行数据count及其properties。问题在于数据全部在同一表中。这应该是所需查询的输出。
records
admin
property_id
id
count
properties
id | name | admin | property_count ----------------------------------- 1 | x | 1 | 1 2 | y | 1 | 3
http://sqlfiddle.com/#!9/5ad1fb/4
SELECT u.*, COUNT(ut.id) property_count FROM users_table u LEFT JOIN users_table ut ON u.id = ut.property_id WHERE u.admin = 1 GROUP BY u.id, u.name, u.admin