[英]How to use results of one sql query within a sub-query
我必须回答以下问题
“对于数据库中的每一年,请列出该年和该年发行的电影总数,并以降序显示这些总数。也就是说,电影数最大的年份排在最前面。如果有些年电影的数量相同,请按年升序显示。”
目前,我正在使用下面的代码将电影分组在一起,但是无法将它们排序:
Select YearReleased, count(*)
from Movies
group by YearReleased
我希望使用某种方式对此进行排序,并尝试通过以下方式创建一个使用第一个查询结果的子查询:
(select * from results order by count(*))
但到目前为止,我一直没有成功。 我如何实现这一目标,或者有更好的方法来按顺序获得结果?
与实际的错误文本相反,“不成功”不是很有用-而且您没有告诉我们您要针对哪个供应商的数据库运行,因此我们无法进行测试。 也就是说,以下应该起作用:
select
YearReleased,
count(*) as movie_count
from movies
group by YearReleased
order by movie_count desc, YearReleased;
无需子查询!
根据SQLite 3.5.9验证; 如果是在不符合标准的情况下运行(SQLite 是 ,除非非常明确地记录在案,否则),您的里程可能会有所不同。
从*中选择*(从YearReleased从Movies组中选择YearReleased,count(*)作为NumReleased)由NumReleased排序
select * from (select YearReleased, count(*) counter
from Movies
group by YearReleased
) a order by counter
可能需要更改语法,具体取决于您的sql风格。
在第一个查询中:选择yearReleased,在第二个查询中将count(*) 作为'count1' :按count1排序
是的,使用聚合,您可以为count(*)放置一个别名,并且可以将其作为一列引用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.