从数据库中获取前 10 条记录并从当前登录用户中获取记录
Posted
技术标签:
【中文标题】从数据库中获取前 10 条记录并从当前登录用户中获取记录【英文标题】:Get top 10 records from db and record from current log in user 【发布时间】:2013-06-14 20:48:28 【问题描述】:我有一个包含一些数据的表,只是我想显示该表中的前 10 个排名,在最后一列我想显示登录到应用程序的用户的排名。
示例
rank | name |school
1 aaa JUU
2 bbb AL
3 ccc TN
. ..... ......
8 xxx KAR
9 yyy PUN
10 zzz KOL
31 NNN DEL
在最后一行我想显示登录应用程序的用户的排名,例如。这里学生“NNN”已登录应用程序,他的排名是 31。 请帮帮我。
【问题讨论】:
您使用的是 mysql 还是 Oracle? PL/SQL 是 Oracle 对 SQL 的扩展,这就是我问这个的原因。你的标签让我有点困惑。 【参考方案1】:你可以使用:
SELECT * -- or whatever is your selection
FROM mytable
WHERE rank <= 10
LIMIT 10
UNION
SELECT *
FROM mytable
WHERE name = 'lll' -- Provided name is unique
ORDER BY rank;
Fiddle Demo
【讨论】:
仅供参考 - 对您认为有用的答案或问题进行投票是一个好习惯。它也会为您赢得一枚铜牌! ***.com/help/badges/6/supporter【参考方案2】:-
选择排名前 10 位
与当前用户联合
利用当前用户尚未进入前 10 名...
select rank, name, school from ranks order by rank asc limit 10
union
select rank, name, school from ranks where name = ??
and name not in (select name from ranks order by rank asc limit 10)
【讨论】:
以上是关于从数据库中获取前 10 条记录并从当前登录用户中获取记录的主要内容,如果未能解决你的问题,请参考以下文章
如何从方法http Get in service Api Angular中仅获取前10条记录