0

列の最大 3 つの結果を 3 つの異なる列に挿入したいと思います。

SELECT
    t.name,
    m.top_marks 
FROM
    table_name t,
    (SELECT
         marks
     FROM table_name
     WHERE rownum <=3
     ORDER BY marks DESC) m
GROUP BY column_name DESC;

これは、上位 3 点を取得するのに役立ちますか? しかし、上位 3 つの結果を 3 つの新しい列に保存したい場合はどうすればよいでしょうか? マーク1、マーク2、マーク3?

4

2 に答える 2

0

あなたが何をしようとしているのか本当に理解しているとは言えません...しかし、LIMIT演算子が必要なようです。これを参照してください:

SQL - 最初の 10 行のみを選択しますか?

だから多分このようなものですか?

SELECT
    t.name,
    m.top_marks 
FROM
    table_name t,
    (SELECT
         marks
     FROM table_name
     ORDER BY marks DESC
     LIMIT 3) m
GROUP BY column_name DESC;
于 2013-08-21T15:24:13.767 に答える