sqlalchemy запрос из отсортированных столбцов во временных рядах - PullRequest
0 голосов
/ 28 мая 2018

У меня есть таблица sqlite, определенная как:

class HourlyUserWebsite(Base):                                                                                                                                                                              
    __tablename__ = 'hourly_user_website'                                                                                                                                                                   

    id = Column(Integer, primary_key=True)                                                                                                                                                                  
    user = Column(String(600), index=True)                                                                                                                                                                  
    domain = Column(String(600))                                                                                                                                                                            
    time_secs = Column(Integer, index=True)                                                                                                                                                                 

    def __repr__(self):                                                                                                                                                                                     
        return "HourlyUserWebsite(user='%s', domain='%s', time_secs=%d)"  % \                                                                                                                               
            (self.user, self.domain, self.time_secs)                                                                                                                                                        

, и я добавляю к ней элементы с помощью метода класса как:

   def add_elements_to_hourly_db(self, data, start_secs, end_secs, engine):                                                                                                                                
        session = self._get_session(engine)                                                                                                                                                                 
        for el in data:                                                                                                                                                                                     
            session.add(el)                                                                                                                                                                                 
        session.commit()                                                                                                                                                                                    
        return                                                                                                                                                                                              

, поскольку данные представляют собой ожидаемые временные рядывсегда добавлять элементы с возрастающим или равным значением time_secs (не убывающим).

Я получаю данные из таблицы с помощью запроса типа: session.query(HorlyUserWebsite)

Я бы хотел, чтобы результаты этого запроса были отсортированы по time_secs и user.

Есть ли способ, которым я могу это сделать?Могут ли данные храниться таким образом, чтобы запрос отсортированных данных был оптимизирован с учетом того, что это временной ряд?

1 Ответ

0 голосов
/ 28 мая 2018
session.query(HourlyUserWebsite).order_by(HourlyUserWebsite.user,HourlyUserWebsite.time_secs.desc()).all()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...