0

約10万行のMySqlテーブルがあります。1 ~ 35 の数字を含む id という 1 つのフィールドがあります。これらのすべてのレコードは、この ID の範囲に属します。つまり、これらのすべてのレコードの ID 列の値は 1 ~ 35 です。

ここで、各 ID の 1 つの行を持つ別のテーブルを作成したいと考えています。つまり、新しいテーブルには 35 行しかないはずです。

どのようにそれについて行くのですか?

4

3 に答える 3

2
create table new_table (id int);
insert into new_table
    select distinct id from big_table;

編集:

作成スクリプトをnew_table出力し、名前を変更することで作成できます。big_table

SHOW CREATE TABLE big_table;
/* modify the name of the output and execute */
insert into new_table
    select * from big_table group by id
于 2012-05-09T07:21:27.883 に答える
0

100.000 行のテーブルがあり、35 行の新しいテーブルが必要です。残りの列に必要な値は何ですか?

答えが「問題ではない」の場合、これは機能します。

CREATE TABLE newTable
SELECT * FROM yourTable
GROUP BY ID;

IDのみが必要な場合は、

CREATE TABLE newTable
SELECT DISTINCT ID FROM yourTable;
于 2012-05-09T07:22:53.417 に答える
0

次のように、あるテーブルから別の偶数差分データベース(スキーマ)にデータをコピーできます

INSERT INTO [DestDatabase].[DestTablName]
SELECT [ColumnName] FROM [SourceDatabase].[SourceTablName];

したがって、次の 2 つの方法を使用できます。

1:

INSERT INTO tbl_New
SELECT DISTINCT id from tbl_Original;

2:

INSERT INTO tbl_New
SELECT id from tbl_Original GROUP BY id;
于 2012-05-09T07:49:08.707 に答える