linq - Logic of applying Group by in Sql Queries -
i asking beginner level of question confused whenever want use aggregate function group by. getting right results not pretty sure how group working here. requirement count of sent items based on messagegroup columns.
messageid senderid messagegroup message _____________________________________________________________________________ 1 2 67217969-e03d-41ec-863e-659ca26e660f hi 2 2 67217969-e03d-41ec-863e-659ca26e660f hello 3 2 67217969-e03d-41ec-863e-659ca26e660f bye 4 1 c45dc414-9320-40a5-8f8f-9c960d6deffe tc 5 1 8486d16b-294b-45a5-8674-e7024e55f39b shutup
actually want count sent messages.here senderid=2 has sent 3 messages want show single count have used messagegroup , doing groupby , getting count.
i have used linq query::
return db.tblmessage.where(m => m.senderid == 2 ).groupby(m => m.messagegroup).count();
this returns "1" correct , want show (1) in sent messages.
but if try query above in sql server, returns 3
here sql query:
select count(*) tblmessage senderid = 2 group messagegroup
the linq query right returns me 1 microsoft says here
actually confused group by. please clear point.
when using groupby, ever columns present in groupby clause should in select clause
select messagegroup,count(messagegroup)from tblmessage senderid=2 group messagegroup
Comments
Post a Comment