簡體   English   中英

如何在所需范圍內的Sql Server中選擇MIN和MAX

[英]How to select MIN and MAX in Sql Server within required range

我必須從MINMAX p_year在范圍內(即在19902014年之間)的sql server表中選擇aid

我已經試過這個查詢,但它給錯誤即

除非聚集在HAVING子句或選擇列表中包含的子查詢中,並且聚集的列是外部引用,否則聚集可能不會出現在WHERE子句中。

SELECT aid
FROM   sub_aminer_paper
WHERE  Min (p_year) = (SELECT p_year
                       FROM   sub_aminer_paper
                       WHERE  p_year >= 1990)
       AND Max (p_year) = (SELECT p_year
                           FROM   sub_aminer_paper
                           WHERE  p_year <= 2014) 

所需的輸出應的aid這些作者其最小p_year> = 1990和最大p_year <= 2014。

SELECT aid
FROM sub_aminer_paper 
GROUP BY aid
HAVING MIN(p_year) >= 1990 AND MAX(p_year) <= 2014
   select aid from sub_aminer_paper 
   group by aid
   having min(p_year) >= 1990 and max(p_year) <= 2014

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM