多条件查询SQLAlchemy

2024-10-02 22:27:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试过用SQLAlchemy中的许多不同方法来执行这段代码,但都不起作用。有人能帮我吗

SELECT * 
       FROM news_nlp_sentences 
       WHERE sentence_id IN (SELECT MAX(sentence_id) 
       FROM news_nlp_sentences 
WHERE "date_created" BETWEEN '2012-12-28' AND '2012-12-31' 
       AND "domain" = 'marketing_features' 
       GROUP BY sentence);

我试过了

page = ConditionalSearch.query.filter(ConditionalSearch.sentence_id.in_(func.max(ConditionalSearch.sentence_id)), ConditionalSearch.domain == domain, ConditionalSearch.date_created>=from_date, ConditionalSearch.date_created<=to_date)

我甚至试过

sql_str = "SELECT * FROM news_nlp_sentences WHERE sentence_id in (SELECT MAX(sentence_id) FROM news_nlp_sentences WHERE date_created BETWEEN {} AND {} AND {} = {} GROUP BY sentence);".format(str(from_date), str(to_date), str(column_name), str(key_word)) The sql_str give me error about BETWEEN

由于数据库中有一些相同的句子具有不同的word_id,因此应获取具有不同句子的列。如果我不想得到MAX(sentence_id)这个句子,它就很好用了,但是我不想一次又一次地使用同一个句子


Tags: andfromiddatenlpsentenceswhereselect