假设我有一个包含十几列的表tilistings
,并且大约2,000行有一列cityname
,其中可能包含50个不同的值。我想要做的是搜索tilistings
并创建另一个表,其中只包含来自cityname
的50个不同的值而不复制任何名称....基本上如果cityname
具有值a,b,a,c,b,b,d,a,a,d,d,c
我只希望新表包含a,b,c
。是否有预先构建的MySQL功能?否则,只需指出我正确的方向用PHP做到这一点。我可以创建表,只是想填充它。
答案 0 :(得分:2)
或者在SQL中完成所有操作,如果您已经创建了一个名为cities
的表,其中包含一列cityname
:
INSERT INTO `cities` (`cityname`)
SELECT DISTINCT `cityname` FROM `tilistings`;
或者从SELECT
:
CREATE TABLE `cities`
SELECT DISTINCT `cityname` FROM `tilistings`;
答案 1 :(得分:1)
您可以通过执行以下查询来获取唯一的城市名称:
SELECT DISTINCT cityname FROM tilistings
然后遍历这些并使用PHP或INSERT INTO ... SELECT将它们插入到新表中。