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
答案 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