sql >> データベース >  >> RDS >> PostgreSQL

結合を使用したSQLクエリの結果にページ付けを適用するにはどうすればよいですか?

    質問を書くことであなたが考えるのはおかしいですし、実際にあなた自身の問題の解決策を想像するのに大いに役立ちます。

    この問題は、クエリのページネーション部分をメインクエリ自体ではなく、メインクエリのサブクエリに追加するだけで解決できました。

    たとえば、次の代わりに:

    SELECT client.id, client.name ...
    FROM clients AS client
    LEFT JOIN client_account_types AS cat ON client.id = cat.client_id
    FULL JOIN account_types AS at ON cat.account_type_id = at.id
    ORDER BY client.name ASC
    LIMIT 10 OFFSET 30;
    

    私はこれを行っています:

    SELECT client.id, client.name ...
    FROM (
        SELECT * FROM clients
        ORDER BY name ASC
        LIMIT 10 OFFSET 0
    ) AS client
    LEFT JOIN client_account_types AS cat ON client.id = cat.client_id
    FULL JOIN account_types AS at ON cat.account_type_id = at.id;
    

    これが他の人にも役立つことを願っています。



    1. PHPでMySQLから整数として整数を取得するにはどうすればよいですか?

    2. MySQL:ロングテーブルとワイドテーブル

    3. PostgreSQL拡張機能であるpgFincore1.2

    4. WHERE句は、INとJOINの前または後に実行する方が適切です