我必须回答以下问题
“对于数据库中的每一年,列出年份和总数 那一年发布的电影,显示了这些总数 降序。也就是说,数量最多的年份 电影首先出现。如果有些年份有相同数量的电影, 按年份递增顺序显示这些。“
目前我正在使用下面的代码将电影组合在一起,但无法让它们分类:
Select YearReleased, count(*)
from Movies
group by YearReleased
我希望使用一些东西来订购这个,并且我正在尝试使用第一个查询的结果进行子查询:
(select * from results order by count(*))
但到目前为止我没有成功。我如何实现这一目标,或者是否有更好的方法来按顺序获得结果?
答案 0 :(得分:5)
“不成功”并不是非常有用,与实际的错误文本相反 - 并且您没有告诉我们您正在运行哪个供应商的数据库,因此我们无法测试。也就是说,以下应该有效:
select
YearReleased,
count(*) as movie_count
from movies
group by YearReleased
order by movie_count desc, YearReleased;
不需要子查询!
针对SQLite 3.5.9进行验证;如果针对不符合标准的内容(SQLite )运行,除非采用非常明确的方式记录,否则您的里程可能会有所不同。
答案 1 :(得分:0)
选择* 从 ( 选择YearReleased,将count(*)作为NumReleased 来自电影 按年份分组发布 ) 由NumReleased订购
答案 2 :(得分:0)
select * from (select YearReleased, count(*) counter
from Movies
group by YearReleased
) a order by counter
根据您的sql风格,可能需要更改语法。
答案 3 :(得分:0)
:选择yearReleased,将count(*)选为'count1' 第二种:按 count1
排序答案 4 :(得分:0)
是的,使用聚合,您可以为count(*)添加别名,它可以作为列引用。