我的桌子
public String getVersionName(Context ctx){
try {
return ctx.getPackageManager().getPackageInfo(getPackageName(), 0).versionName;
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
return "";
}
}
我想通过column2获得column1组的前三名
column1 column2
1 10/05/2015
2 10/05/2015
3 05/11/2017
4 06/09/2017
5 07/10/2017
...
...
1000 07/06/2017
我可以根据column2获取查询以获取column1的计数。如何获得前n行?
count(column1) column2
20 10/05/2015
10 05/11/2017
8 07/06/2017
答案 0 :(得分:1)
来源:https://oracle-base.com/articles/misc/top-n-queries
(也许: - 不确定,手边没有oracle)
SELECT c, c2
FROM (
select
count(*) c,
column2 c2,
DENSE_RANK() OVER (Order by count(*) DESC) val_rank
from table1
group by column2
)
WHERE val_rank <= 5
密集等级应该是你需要的。它将为每个结果分配一个等级,相同的等级到相同的结果,并且计算的等级没有间隙,因此将其限制为5应该可以解决问题。
答案 1 :(得分:0)
如果是oracle,您可以在where子句中使用关键字where rownum < 4
所以在你的查询中添加
FilterCollectionCell
如果你想显示前3个结果