我使用多种方法在mysql表行中插入数据:1#2#3。 1是国家的ID,2是国家的ID,3是市镇的ID。现在我有这张桌子的房地产列表。对于每个列表(家)我有国家/州/镇(1#2#3)。在国家表中我有国家列表 - 在国家表中我有州名单 - 在国家表我有镇的名单。我需要在国家/州/镇的房屋数量。我的意思是:
USA [ 13 ] <!-- This Is equal of alabama+alaska+arizona -->
----Alabama [8] <!-- This Is equal of Adamsville+Addison+Akron -->
-------Adamsville [2]
-------Addison[5]
-------Akron[1]
......(list of other City)
----Alaska [ 3 ]
-------Avondale[3]
......(list of other City)
----Arizona [ 2 ]
-------College[2]
......(list of other City)
Lisintg表:
ID -- NAME -- LOCATION -- DATEJOIN -- ACTIVE
1 -- TEST -- 1#2#3 -- 20110101 -- 1
2 -- TEST1 -- 1#2#3 -- 20110101 -- 1
3 -- TEST2 -- 1#3#5 -- 20110101 -- 1
4 -- TEST3 -- 1#7#6 -- 20110101 -- 1
国家/地区表:
id -- name
1 -- USA
统计表:
id -- countryid -- name
1 -- 1 -- albama
2 -- 1 -- alaska
3 -- 1 -- akron
城镇表:
id -- countryid -- statsid -- name
1 -- 1 -- 1 -- adamsville
2 -- 1 -- 1 -- addison
3 -- 1 -- 1 -- akron
感谢您的帮助。
答案 0 :(得分:0)
我不知道您的表架构,但您可以尝试:
SELECT count(DISTINCT country_name) FROM `tbl_country`
count()函数将返回行数
答案 1 :(得分:0)
我不认为您的架构是理想的,您应该考虑更改它。
所以我认为你想要实现的是每个地理区域中所有不同列表的总和。如果是这样,你应该调查SELECT...GROUP BY。像这样的东西
SELECT location,count(*)
FROM listings
GROUP BY location
这将为您提供每个不同位置的列表以及它在列表中显示的次数。