1

こんにちは、すべての国の SQL の人々です。

簡単な質問です。うまくいけば簡単な答えです。

個人情報を含む Oracle データベース テーブルがあります。列は次のとおりです。

FirstName, LastName, BirthDate, BirthCountry

このテーブルで、1500 人がアルバ (BirthCountry = "Aruba") で生まれ、678 人がボツワナ人 (BirthCountry = "Botswana")、13338 人がカナダ人 (BirthCountry = "Canadia") で生まれたとします。

各国から 10 件のレコードのサンプル バッチを抽出するには、どのようなクエリを作成する必要がありますか? 10個ある限り、どの10個でも構いません。

この 1 つのクエリは、各 BirthCountry から 10 行ずつ、30 行を出力します。

4

2 に答える 2

1

これにより、クエリを実行するたびに異なる 10 人のランダムな人物が選択されます。

select  *
from    (
        select  row_number() over (partition by BirthCountry 
                                   order by dbms_random.value) as rn
        ,       FirstName
        ,       LastName
        ,       BirthDate
        ,       BirthCountry
        from    YourTable
        )
where   rn <= 10
于 2013-05-06T13:32:04.403 に答える