MySQL创建包含另一个表中列的值的表

时间:2011-01-28 23:58:54

标签: php mysql create-table

假设我有一个包含十几列的表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做到这一点。我可以创建表,只是想填充它。

2 个答案:

答案 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将它们插入到新表中。