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

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -