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

发布于 2024-10-15 00:07:41 字数 353 浏览 7 评论 0原文

假设我有一个表 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 执行此操作的正确方向。我可以创建表,只是想填充它。

Lets say I have a table tilistings with a dozen columns, and about 2,000 rows there is one column cityname that has probably 50 different values in it. What I want to do, is search through the tilistings and create another table that just contains the 50 different values from cityname without duplicating any names....basically if cityname had the values a,b,a,c,b,b,d,a,a,d,d,c I would only want the new table to contain a,b,c. Is there a pre-built MySQL function to do so? Otherwise, just point me in the right direction to do this with PHP. I can create the table, just looking to populate it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痴情 2024-10-22 00:07:41

或者,如果您已经创建了一个名为 cities 且包含单列 cityname 的表,则可以使用 SQL 完成所有操作:

INSERT INTO `cities` (`cityname`)
SELECT DISTINCT `cityname` FROM `tilistings`;

或者从 SELECT 中创建该表:

CREATE TABLE `cities`
SELECT DISTINCT `cityname` FROM `tilistings`;

Or do it all in SQL, if you already have created a table named cities with a single column cityname:

INSERT INTO `cities` (`cityname`)
SELECT DISTINCT `cityname` FROM `tilistings`;

Or crate the table from the SELECT:

CREATE TABLE `cities`
SELECT DISTINCT `cityname` FROM `tilistings`;
不弃不离 2024-10-22 00:07:41

您可以通过执行以下查询来获取唯一的城市名称:

SELECT DISTINCT cityname FROM tilistings

然后循环这些城市名称,并使用 PHP 或 插入...选择

You can get the unique city names by performing the following query:

SELECT DISTINCT cityname FROM tilistings

Then loop through those and INSERT them into your new table with PHP or INSERT INTO ... SELECT.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文