SQLite3:删除共享列值并在另一列中具有一个或多个空值的所有行

SQLite3: Delete all rows that share column value and have one or more empty values in another column

我有一个 sqlite3 table,其中包含不同公司的历史股价。第一列是日期,第二列是公司的股票代码,第三列是该公司在该日期的股票价格。一些股票价格缺失,我想删除所有有一个或多个缺失价格的公司。对于下面的公司 (ANTQ),我想删除它的所有行,因为缺少价格。整个table很长,有很多公司;我不想删除所有价格都为非空的公司的那些行。

 date,ticker,price
 19900131,ANTQ,0.125
 19900228,ANTQ,
 19900630,ANTQ,0.094
 19900731,ANTQ,
 19900831,ANTQ,0.094
 19900930,ANTQ,
 19910131,ANTQ,0.094
 19910228,ANTQ,0.094
 19910331,ANTQ,0.094

我知道如何删除所有价格为空的行,但我不知道如何删除一个或多个价格为空的公司的所有行 谢谢!

首先使用子查询确定受害公司:

DELETE FROM MyTable
WHERE ticker IN (SELECT ticker
                 FROM MyTable
                 WHERE price IS NULL)