【发布时间】:2014-03-03 05:26:48
【问题描述】:
我在我的应用程序中使用自定义分页,所以每次我从我的数据库中获取最新的 10 条记录并显示在我的应用程序上。
我的问题是
我想在顶部获取最新的用户信息。
在获取信息时,每个用户都有不止一行,所以我使用 dense_rank 函数对这些记录进行分组。
例如
RRowNo UserID Location CreatedOn 1 Avsih 德里 06-02-2014 1 Avsih 孟买 06-02-2014 1 Avsih 喀拉拉邦 06-02-2014 2 尼米向上 06-02-2014 3 Rahul1 德里 06-02-2014 4 Rahul2 孟买 06-02-2014 5 Rahul3 喀拉拉邦 06-02-2014 6 拉胡尔4 UP 06-02-2014 7 Rahul5 德里 06-02-2014 8 Rahul6 孟买 06-02-2014 9 Rahul7 喀拉拉邦 06-02-2014 10 拉胡尔8 UP 06-02-2014 11 拉胡尔9 UP 07-02-2014假设我的表名是 emp
我的查询是
select *
from (
select dense_rank() over (order by userid asc) as rowno,
from emp
) as tab
where rowno>='1' and rowno<='10'
order by Createdon desc
Rahul9 是我的最新记录(即创建时间必须是 07/02/2014) 我希望该记录成为最高记录。但是通过使用该查询我无法获取 所以请帮助如何修改这个查询。
【问题讨论】:
-
请不要将苹果(数字)与橙子(字符串)进行比较。
'1'是一个字符值。1是一个数字。请为您正在使用的 DBMS 添加标签(Postgres、Oracle、...)
标签: sql sql-server database window-functions