显示最大到最小行数sql的用户列表

时间:2014-02-17 11:17:51

标签: sql sql-server

SELECT
   us.MxitId AS TransactionCreatedBy,   
   CONCAT(t.ChildName, ' ', t.ChildSurname) AS ChildName,
   t.ChildFathersName, t.Age, t.Shoesize
FROM 
   [Transaction] t
INNER JOIN 
   [User] us ON t.CreatedBy = us.UserId
GROUP BY 
   us.MxitId, ChildName, ChildGender, ChildFathersName, ChildGender, ChildSurname, Age, Shoesize
ORDER BY 
   TransactionCreatedBy

我有这个存储过程想要显示行数最多的用户(TransactionCreatedBy)。我如何在SQL中执行此操作?

TransactionCreatedBy    ChildName   ChildFathersName    Age Shoesize
0jakim0                 aSA dsad    das                  5  130
0jakim0                Ram Charan   Chiru                    6  219
0jakim0                  Vaishnavi      Ravi                     6  164
27786421424           ;llkj hkh        kjhkj                     18 236
27786421424            ds             sdsd                           34     241
27786421424            6unhes parker father                          13 211
27786421424         ditya Gajjar            Chetan                    15    189

1 个答案:

答案 0 :(得分:1)

开始简单。你需要用户的交易数量,对吧?

SELECT us.userid          AS TransactionCreatedBy, 
       Count(t.createdby) RowsCount 
FROM   [user] us 
       INNER JOIN [transaction] t 
               ON t.createdby = us.userid 
GROUP  BY us.userid 
ORDER  BY 2 DESC 

顺便说一句,如果您想要所有用户,我的意思是没有交易的用户,您可以将INNER JOIN更改为LEFT OUTER JOIN