2つのテーブルtable1と
table2table1があります
。idamount1394
2 897
2 345
3 123
table2:
id
amount
2 876
3 890
3 876
4908table3
を生成する必要があります。2つのテーブルとSUMIDを賢く結合し、上位30の金額ホルダーを表示します。
表3 :
ID量
2 2118
3 1889
4908
1394
2 に答える
3
次の方法でデータを取得できます。
select table3.id, SUM (table3.amount) AS amount
FROM
(SELECT * FROM table1 UNION ALL SELECT * FROM table2) table3
GROUP BY table3.id
上記のデータを使用してテーブルを作成する場合は、次のように実行できます。
CREATE TABLE new_table select table3.id, SUM (table3.amount) AS amount
FROM
(SELECT * FROM table1 UNION ALL SELECT * FROM table2) table3
GROUP BY table3.id ;
于 2012-10-07T09:52:00.483 に答える
0
このクエリを使用してみてください
SELECT a.id, SUM(a.amount)
FROM (
SELECT * FROM table1
UNION
SELECT * FROM table2) AS a
GROUP BY a.id
ORDER BY SUM(a.amount)
LIMIT 30 DESC;
上記のクエリは結果を生成します。新しいテーブルを作成するには、次のように使用します
CREATE TABLE table3(
SELECT a.id, SUM(a.amount)
FROM (
SELECT * FROM table1
UNION
SELECT * FROM table2) AS a
GROUP BY a.id
ORDER BY SUM(a.amount)
LIMIT 30 DESC);
お役に立てれば...
于 2012-10-07T09:56:06.713 に答える