Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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查询以根据各自的用户选择最新的5条记录?_Sql_Sql Server_Greatest N Per Group - Fatal编程技术网

SQL查询以根据各自的用户选择最新的5条记录?

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

我有两个表注册和查询

注册:

查询:

基本工作是:销售人员通过他的应用程序输入数据,并将其提交到Enquery表中。现在,我想显示各自销售人员的最新5个条目,并在我的应用程序的recyclerview中显示。您能帮我了解一下SQL逻辑吗?

首先,您需要知道提交到Enquery的用户的用户id。 假设这个id是调用当前用户的id

所以这个问题应该是这样的-

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