es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes usar el método func.count de SQLAlchemy junto con el método filter() para lograr esto. Aquí tienes un ejemplo mínimo:

    from sqlalchemy import create_engine, Column, Integer
    from sqlalchemy.orm import sessionmaker
    from sqlalchemy.ext.declarative import declarative_base
    from sqlalchemy import func
    
    
    # crear un motor
    engine = create_engine('postgresql://username:password@host/dbname')
    
    # crear una sesión
    Session = sessionmaker(bind=engine)
    session = Session()
    
    # crear una base declarativa
    Base = declarative_base()
    
    # definir una tabla
    class Table(Base):
        __tablename__ = 'table'
        id = Column(Integer, primary_key=True)
    
    # ejecutar la consulta
    cnt = session.query(func.count(Table.id).label('cnt')).filter(condition).one()[0]
    
    print(cnt)
    

    En este ejemplo, se utiliza func.count para contar el número de filas en la tabla, y filter() se utiliza para aplicar la condición. El método label() se utiliza para asignar un nombre a la columna resultante para facilitar su acceso. Por último, se utiliza one() para devolver el resultado como un único valor.

Comments are closed.