SQL查询以根据各自的用户选择最新的5条记录?
我有两个表注册和查询 注册: 查询: 基本工作是:销售人员通过他的应用程序输入数据,并将其提交到Enquery表中。现在,我想显示各自销售人员的最新5个条目,并在我的应用程序的recyclerview中显示。您能帮我了解一下SQL逻辑吗?首先,您需要知道提交到Enquery的用户的用户id。 假设这个id是调用当前用户的id 所以这个问题应该是这样的-SQL查询以根据各自的用户选择最新的5条记录?,sql,sql-server,greatest-n-per-group,Sql,Sql Server,Greatest N Per Group,我有两个表注册和查询 注册: 查询: 基本工作是:销售人员通过他的应用程序输入数据,并将其提交到Enquery表中。现在,我想显示各自销售人员的最新5个条目,并在我的应用程序的recyclerview中显示。您能帮我了解一下SQL逻辑吗?首先,您需要知道提交到Enquery的用户的用户id。 假设这个id是调用当前用户的id 所以这个问题应该是这样的- select * from ( select top 5 Enq_Id, enq_name, enq_details fro
select *
from (
select top 5 Enq_Id, enq_name, enq_details
from Enquery where user_id = current_user_id
order by Enq_Id desc
) a
order by Enq_Id asc
显示销售人员5条最新记录的SQL查询:
return DB:table('Registration')->join('Enquery', 'Registration.User_id', 'Enquery.user_id')
->OrderBy('Enq_id', 'desc')
->where('Enquery.user_id', '=', 'Registration.User_id')
->distinct()
以下查询应执行您想要的操作:
SELECT *
FROM (
SELECT reg.name,reg.Phone,reg.Address,enq.[user_id],enq.[Enq_Id]
,enq.enq_name
,enq.enq_details
,ROW_NUMBER() OVER(PARTITION BY enq.[user_id] ORDER BY enq.[Enq_Id] DESC) AS RNO
FROM [Enquery] enq
INNER JOIN [Registration] reg ON enq.[User_id] = reg.[User_id] ) A
WHERE RNO <= 5
这不是SQL查询也不是MySQL查询我正在使用SQL Server@a_horse_和_no_name它显示了一个错误:1064-您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,了解在第3行@Faruk Hossain处使用的“5 enq_id,enq_name,enq_details from enquery,其中user_id=current_user_”附近的正确语法
return DB:table('Registration')->join('Enquery', 'Registration.User_id', 'Enquery.user_id')
->OrderBy('Enq_id', 'desc')
->where('Enquery.user_id', '=', 'Registration.User_id')
->distinct()
SELECT *
FROM (
SELECT reg.name,reg.Phone,reg.Address,enq.[user_id],enq.[Enq_Id]
,enq.enq_name
,enq.enq_details
,ROW_NUMBER() OVER(PARTITION BY enq.[user_id] ORDER BY enq.[Enq_Id] DESC) AS RNO
FROM [Enquery] enq
INNER JOIN [Registration] reg ON enq.[User_id] = reg.[User_id] ) A
WHERE RNO <= 5