Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Mise en oeuvre d'IHM
avec Qt et PySide6
Voir le programme détaillé
Classe « Query »

Méthode sqlalchemy.orm.Query.count

Signature de la méthode count

def count(self) -> 'int' 

Description

help(Query.count)

Return a count of rows this the SQL formed by this :class:`Query`
would return.

This generates the SQL for this Query as follows:

.. sourcecode:: sql

    SELECT count(1) AS count_1 FROM (
        SELECT <rest of query follows...>
    ) AS anon_1

The above SQL returns a single row, which is the aggregate value
of the count function; the :meth:`_query.Query.count`
method then returns
that single integer value.

.. warning::

    It is important to note that the value returned by
    count() is **not the same as the number of ORM objects that this
    Query would return from a method such as the .all() method**.
    The :class:`_query.Query` object,
    when asked to return full entities,
    will **deduplicate entries based on primary key**, meaning if the
    same primary key value would appear in the results more than once,
    only one object of that primary key would be present.  This does
    not apply to a query that is against individual columns.

    .. seealso::

        :ref:`faq_query_deduplicating`

For fine grained control over specific columns to count, to skip the
usage of a subquery or otherwise control of the FROM clause, or to use
other aggregate functions, use :attr:`~sqlalchemy.sql.expression.func`
expressions in conjunction with :meth:`~.Session.query`, i.e.::

    from sqlalchemy import func

    # count User records, without
    # using a subquery.
    session.query(func.count(User.id))

    # return count of user "id" grouped
    # by "name"
    session.query(func.count(User.id)).group_by(User.name)

    from sqlalchemy import distinct

    # count distinct "name" values
    session.query(func.count(distinct(User.name)))

.. seealso::

    :ref:`migration_20_query_usage`



Vous êtes un professionnel et vous avez besoin d'une formation ? Coder avec une
Intelligence Artificielle
Voir le programme détaillé