如何只拉一列,但需要两列信息

时间:2017-12-29 21:41:28

标签: python sqlite

我有一个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

1 个答案:

答案 0 :(得分:1)

通常,您可以通过在其周围包装另一个查询来删除列:

SELECT Total
FROM (SELECT ...original query... );

但是在这种情况下,如果用GROUP BY替换DISTINCT,则不需要查询输出中的原始列(并且可以通过使用SQLite中的布尔表达式导致{{1 }或0):

1