Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 他想换个专栏吗?我试图简单地获取从百分位方程返回的最大值,而不是返回最大值,我只获取每个项目的值,而不是最大百分比变化的三个项目的值。如果要返回前N,其中N>1(在您的情况下为前3)行,仅使用max()是不够的。您必须通过使用order by+rownum_Sql_Oracle_Subquery_Max - Fatal编程技术网

Sql 他想换个专栏吗?我试图简单地获取从百分位方程返回的最大值,而不是返回最大值,我只获取每个项目的值,而不是最大百分比变化的三个项目的值。如果要返回前N,其中N>1(在您的情况下为前3)行,仅使用max()是不够的。您必须通过使用order by+rownum

Sql 他想换个专栏吗?我试图简单地获取从百分位方程返回的最大值,而不是返回最大值,我只获取每个项目的值,而不是最大百分比变化的三个项目的值。如果要返回前N,其中N>1(在您的情况下为前3)行,仅使用max()是不够的。您必须通过使用order by+rownum,sql,oracle,subquery,max,Sql,Oracle,Subquery,Max,他想换个专栏吗?我试图简单地获取从百分位方程返回的最大值,而不是返回最大值,我只获取每个项目的值,而不是最大百分比变化的三个项目的值。如果要返回前N,其中N>1(在您的情况下为前3)行,仅使用max()是不够的。您必须通过使用order by+rownum或使用分析窗口函数(如ROW\u NUMBER()、densite\u RANK()、RANK())来使用排名,或者通过使用与COUNT()相关的子查询来使用排名。因此,实际上没有一种方法可以动态地这样做,无论有多少个最大值,您都只能得到这些值


他想换个专栏吗?我试图简单地获取从百分位方程返回的最大值,而不是返回最大值,我只获取每个项目的值,而不是最大百分比变化的三个项目的值。如果要返回前N,其中N>1(在您的情况下为前3)行,仅使用
max()
是不够的。您必须通过使用order by+rownum或使用分析窗口函数(如
ROW\u NUMBER()、densite\u RANK()、RANK()
)来使用排名,或者通过使用与
COUNT()
相关的子查询来使用排名。因此,实际上没有一种方法可以动态地这样做,无论有多少个最大值,您都只能得到这些值?为什么?它完全是动态的。你只要告诉我你想在外部选择中获得多少顶级记录。人力资源部,我明白了,不管怎样,你的帮助会很好的,我很感激。谢谢。OP使用的是Oracle,不是MySQL抱歉我以为它在MySQL中:(OP使用的是Oracle,不是MySQL抱歉我以为它在MySQL中:(
SELECT grocery_item, 
       price_in_2012, 
       ESTIMATED_PRICE_IN_2042, 
       sum((ESTIMATED_PRICE_IN_2042 - PRICE_IN_2012) / PRICE_IN_2012) * 100 as Percent_Change
FROM grocery_prices 
GROUP BY grocery_item, 
         price_in_2012, 
         ESTIMATED_PRICE_IN_2042
ORDER BY grocery_item;
select  *
from    im_employees a
where   (select count(distinct employee_id ) from im_employees where             employee_id>=a.employee_id)<=3;
select ROCERY_ITEM,PRICE_IN_2012,ESTIMATED_PRICE_IN_2042,round((cast(ESTIMATED_PRICE_IN_2042-PRICE_IN_2012 as numeric)/PRICE_IN_2012)*100,3)||'%' from GROCERY_PRICES order by round((cast(ESTIMATED_PRICE_IN_2042-PRICE_IN_2012 as numeric)/PRICE_IN_2012)*100,3) desc limit 3;
select rownum,ROCERY_ITEM,PRICE_IN_2012,ESTIMATED_PRICE_IN_2042,round(((ESTIMATED_PRICE_IN_2042-PRICE_IN_2012)/PRICE_IN_2012)*100,3)||'%' from GROCERY_PRICES  where rownum < 4 order by round((cast(ESTIMATED_PRICE_IN_2042-PRICE_IN_2012 as numeric)/PRICE_IN_2012)*100,3) desc; 
SELECT grocery_item, price_in_2012, estimated_price_in_2042, percent_change
  FROM
(
  SELECT grocery_item, price_in_2012, estimated_price_in_2042, 
         ROUND((estimated_price_in_2042 - price_in_2012) / price_in_2012 * 100, 2) AS percent_change,
         ROW_NUMBER() OVER (ORDER BY ABS((estimated_price_in_2042 - price_in_2012) / price_in_2012 * 100) DESC) AS rank
    FROM grocery_prices t
) q
 WHERE rank <= 3;
| GROCERY_ITEM | PRICE_IN_2012 | ESTIMATED_PRICE_IN_2042 | PERCENT_CHANGE | |--------------|---------------|-------------------------|----------------| | B_001 | 0.8 | 3.28 | 310 | | G_010 | 8 | 32.8 | 310 | | R_003 | 4 | 16.4 | 310 |
SELECT grocery_item, price_in_2012, estimated_price_in_2042, percent_change
  FROM
(
  SELECT grocery_item, price_in_2012, estimated_price_in_2042, 
         ROUND((estimated_price_in_2042 - price_in_2012) / price_in_2012 * 100, 2) AS percent_change,
         DENSE_RANK() OVER (ORDER BY ABS((estimated_price_in_2042 - price_in_2012) / price_in_2012 * 100) DESC) AS rank
    FROM grocery_prices t
) q
 WHERE rank <= 3;
| GROCERY_ITEM | PRICE_IN_2012 | ESTIMATED_PRICE_IN_2042 | PERCENT_CHANGE | |--------------|---------------|-------------------------|----------------| | B_001 | 0.8 | 3.28 | 310 | | G_010 | 8 | 32.8 | 310 | | R_003 | 4 | 16.4 | 310 | | E_001 | 0.62 | 1.78 | 187.1 | | B_002 | 2.72 | 7.36 | 170.59 |
SELECT  GROCERY_ITEM,PRICE_IN_2012,ESTIMATED_PRICE_IN_2042,
ROUND(((`ESTIMATED_PRICE_IN_2042` - `PRICE_IN_2012`) / PRICE_IN_2012) * 100) AS Percent_Change
FROM grocery_prices AS itm
GROUP BY GROCERY_ITEM
ORDER BY Percent_Change DESC LIMIT 3