我有一个按国家,地区,子地区和城市组织的人群MYSQL表。
当访问者加入群组时,他会选择一个城市,我们会自动将他添加到“子区域”,“地区”,“国家/地区”的父母群组中。
例如:约翰选择了伦敦。所以他将被分组加入伦敦,大伦敦,英国,英国。 我们得到一个像这样的父子表:
我需要提取城市群的所有行。如何识别城市群?它是ID不在其他行的id_parent字段中的唯一行。 是!城市群组行不能是其他群组的父母。所以我们在id_parent字段中找不到城市组ID。
现在我们知道了他,如何用SQL语言提取城市组行?这对我来说太复杂了。
提前致谢。
答案 0 :(得分:2)
请尝试使用此查询:
select * from table
where id not in (select id_parent from table);
以下是一个示例:http://sqlfiddle.com/#!2/7de26/1