2014-02-17 56 views
1
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中做到这一点?显示最大到最小行数的用户列表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

开始简单。您需要使用他们的交易数量的用户,对吗?

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 JOINLEFT OUTER JOIN

+0

是的,我需要显示在开始最记录的用户。语法给了我一个错误'*'附近的错误语法。 – vini

+0

您可以将其更改为t.CreatedBy – Rodion