模式:
电影:
[id,标题,发行年份,国家,期限,语言,证书,毛额,预算]
在多少不同的年份发行了200多部电影?
我的查询是
select count(release_year)
from films
group by release_year
having count(title)>200;
预期结果为13。
问题: 我正在
Count
236
203
209
225
221
214
252
238
220
224
226
227
260
我在这里想念什么?
答案 0 :(得分:0)
如果您想要一个数字,则需要一个子查询:
df_test = pd.DataFrame({'Col1':[1, 2, 3, 4, 5], 'Col2':[3, 4, 5, 6, 7]})
class Test_Class:
def __init__(self, df):
self.df = df
def add_new_col(self, df, column_name): # this function requires a df as parameter
df[column_name] = 100
obj = Test_Class(df_test)
obj.add_new_col(obj.df, 'NEW_COL')
print (obj.df)
print (df_test)
# Output
Col1 Col2 NEW_COL
0 1 3 100
1 2 4 100
2 3 5 100
3 4 6 100
4 5 7 100
Col1 Col2 NEW_COL
0 1 3 100
1 2 4 100
2 3 5 100
3 4 6 100
4 5 7 100
答案 1 :(得分:0)
您可以通过查询年份并计算当年发行的电影来细分,然后计算该结果集中的行数:
with cte as (
select release_year
from films
having count(title) > 200
)
select count(*)
from cte;
或
select count(*)
from (
select release_year
from films
having count(title) > 200
) cte;
您正在做的是按发布年分组,因此每个发布年获得一行,并且每年获得的行数是release_year不为null(count(release_year)
)的行数