我有一个sql查询,它按照我想要的方式工作,因为我需要它来提取信息,但我不想要我的部门专栏
实施例
qry = """
select distinct
Department
, (select count(*) from MyTable t2 where t2.Department = t1.Department and t2.CompletedTraining='Incomplete') as Total
from MyTable t1 ORDER BY Department ASC
df = pd.read_sql_query(qry, con)
print("Incomplete Training")
print(df)
当前输出:
Incomplete Training
Department Total
0 AQPSD 6
1 ASD 8
2 CO 2
3 ECARS 3
4 ED 6
5 EO 4
6 ISD 4
7 MLD 0
8 MSCD 5
9 OIS 0
10 RD 2
11 TTD 4
我希望我的查询只放置Total列,但仍然有相同的数据,所以输出将是
Incomplete
Training
0 6
1 8
2 2
3 3
4 6
5 4
6 4
7 0
8 5
9 0
10 2
11 4
答案 0 :(得分:1)
通常,您可以通过在其周围包装另一个查询来删除列:
SELECT Total
FROM (SELECT ...original query... );
但是在这种情况下,如果用GROUP BY替换DISTINCT,则不需要查询输出中的原始列(并且可以通过使用SQLite中的布尔表达式导致{{1 }或0
):
1