选择除sqllite3之外的行

时间:2018-03-25 12:49:14

标签: python sqlite

我有一个数据库,其数据框包含以下列:名称,奖励,获胜者(1表示赢,0表示没赢)以及其他一些与此问题无关的内容。

我想制作一个数据框,其中包含为获奖女演员选择的人物名称(其中名称为女演员的奖项计数),但从未赢过,在python中使用Unnamed: 0 CeremonyNumber CeremonyYear CeremonyMonth CeremonyDay FilmYear Award Winner Name FilmDetails 0 0 1 1929 5 16 1927 Actor 1 Emil Jannings The Last Command 1 1 1 1929 5 16 1927 Actor 0 Richard Barthelmess The Noose 2 2 1 1929 5 16 1927 Actress 1 Janet Gaynor 7th Heaven 3 3 1 1929 5 16 1927 Actress 0 Louise Dresser A Ship Comes In 4 4 1 1929 5 16 1927 Actress 0 Gloria Swanson Sadie Thompson

这些是数据帧的前五行:

query = '''
select Name
from oscars
where Award like "Actress%"
except select Name
        from oscars
        where Award like "Actress%" and Winner == 1
'''

我尝试使用此查询,但结果不正确。

    Name
0   Abigail Breslin
1   Adriana Barraza
2   Agnes Moorehead
3   Alfre Woodard
4   Ali MacGraw

此查询的结果应该是这样的数据框:

let a = new Object();
let b = new Object();
console.log(a===b) // false

1 个答案:

答案 0 :(得分:0)

为了选择所有被选中并且从未获胜的女演员,你应该使用AND而不是EXCEPT。这样的事情应该有效:
SELECT Name from Oscars WHERE Award LIKE "Actress%" AND Winner = 0
有关详细信息,请参阅https://www.sqlite.org/index.html处的sqlite文档。