you have to consider that more than one row can have that same close, so it's a 
set of rows corresponding to that one close.  so to remain in terms of sets you 
need to use a join (or a subquery):

select prices.date from prices, (select min(price.close) as close from prices 
join company on <onclause> where ticker='AAPL' and date>=<somedate>) as 
min_close
on prices.close = min_close.close

or if you can use LIMIT 1 then lele's idea works more easily



On Aug 19, 2013, at 8:09 PM, [email protected] wrote:

> Hi all,
> 
> I've searched through the documentation and google on this and haven't been 
> able to find an answer. I have the following class:
> 
> class Price(Base):
>     __tablename__ = "prices"
>     id = Column(Integer, primary_key = True)
>     company_id = Column(Integer, ForeignKey('companies.id'))
>     date = Column(DateTime, nullable=False)
>     close = Column(Float)
> 
> I'm trying to query Price for the minimum price during a certain period of 
> time. The query for that is:
> 
> session.query(func.min(Price.close)).join(Company).filter(and_(Company.ticker=="AAPL",
>  Price.date>=<datetime object>)).one()
> 
> But, how does one query the Price.date that corresponds to 
> func.min(Price.close)? I had thought I could do session.query(Price.date, 
> func.min(Price.close)... but that instead returned the first date in the 
> column alongside the min price. 
> 
> I also thought that I could do:
> 
> session.query(Price.date).join(Company).filter(Company.ticker=="AAPL").having(func.min(Price.adj_close)==low[0]).all()
> 
> But that returns the empty set for some reason. (Just as well--there has to 
> be an easier way to do this.)
> 
> Chris
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sqlalchemy" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sqlalchemy.
> For more options, visit https://groups.google.com/groups/opt_out.

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to