-3

2 つの列を持つ単純なテーブルがあります。最初のフィールドは ID を表し、2 番目のフィールドは名前 (文字列値) を表します。一意のフィールドはありません。したがって、たとえば、次のような多くのレコードがあります。

ここに画像の説明を入力

必要なのは、テーブル全体を次の形式で表示し、コンテンツを新しいテーブルに挿入する単純な SQL ステートメントです。

ここに画像の説明を入力

何か助けはありますか?

4

2 に答える 2

1

使用する必要がありますgroup by

insert into tab2 (name,cnt)
select name, count(1) as cnt
from tab
group by name

集計関数の詳細については、次を参照してください

SQL フィドルのデモ

于 2012-09-27T10:18:33.327 に答える
0

関数を使用COUNTしてカウントするだけfrom_idです。また、グループでカウントしたい場合は、GROUP BY節を使用してください。このように。

SELECT `name`, COUNT(from_id) AS `COUNT`
FROM myTable 
GROUP BY `name`;

これにより、目的の結果が返されます。

これを新しいテーブルに挿入したい場合は、次のようにします。

INSERT INTO newTable (`name`, `count`) 
SELECT `name`, COUNT(from_id) AS `COUNT`
    FROM myTable 
    GROUP BY `name`;
于 2012-09-27T10:18:14.253 に答える