[英]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.