我的問(wèn)題是我應(yīng)該如何distint()根據(jù)一列的值刪除/忽略數(shù)據(jù)庫(kù)中行的重復(fù)項(xiàng)。所以這是我的場(chǎng)景。我有一個(gè)test_db包含以下數(shù)據(jù)的數(shù)據(jù)庫(kù):values_list = [ {'tweet_id': '1', 'retweet': '100', 'user_id': '101'}, {'tweet_id': '2', 'retweet': '10', 'user_id': '101'}, {'tweet_id': '2', 'retweet': '11', 'user_id': '101'}, {'tweet_id': '10', 'retweet': '110', 'user_id': '102'}, {'tweet_id': '10', 'retweet': '110', 'user_id': '102'}, {'tweet_id': '110', 'retweet': '0', 'user_id': '2'}, ]我想對(duì)定義為 的每個(gè)用戶(hù)的轉(zhuǎn)發(fā)計(jì)數(shù)和推文計(jì)數(shù)求和user_id。我對(duì)這樣一個(gè)問(wèn)題的查詢(xún)?nèi)缦拢簈 = select([ test_db.columns.user_id, test_db.columns.tweet_id.distinct(), func.count(test_db.columns.retweet).label('count'), func.sum(cast(test_db.columns.retweet, Integer)).label('total_retweet'), ])q = q.group_by(test_db.columns.user_id)我得到的是如下:user_id tweet_id count total_retweet102 10 2 220101 2 3 1212 110 1 0但我的預(yù)期結(jié)果應(yīng)該是這樣的:user_id tweet_id count total_retweet102 10 1 110101 2 2 1112 110 1 0我不確定我應(yīng)該如何強(qiáng)制distinct以獲得預(yù)期的結(jié)果,或者有另一種方法來(lái)解決這個(gè)問(wèn)題。
添加回答
舉報(bào)
0/150
提交
取消