Recent PostsRecent Posts Popular TopicsPopular Topics
 Home Search Members Calendar Who's On

 How to obtain Sum of count Rate Topic Display Mode Topic Options
Author
 Message
 Posted Wednesday, January 16, 2013 7:08 AM
 SSC Rookie Group: General Forum Members Last Login: Monday, July 13, 2015 12:45 AM Points: 34, Visits: 85
 The View obtains the first three columns , i need to add one more column(totalCount) to the view that obtains the totalCountCId CCId CCount totalCount1 a 3 61 a 3 61 b 3 61 c 3 62 b 2 62 b 2 62 a 2 62 a 2 63 v 1 6How to get the totalCount as 6 ?(Business rule for Cid=1 Ccount=3 Cid=2 Ccount=2 Cid=3 Ccount=1So the totalCount =3+2+1 =6)
Post #1407824
 Posted Wednesday, January 16, 2013 8:54 AM
 SSC-Dedicated Group: Administrators Last Login: Yesterday @ 1:59 PM Points: 34,363, Visits: 18,582
 How are you getting the counts? are you basing this on the CCID column for a CID?It's better if you can give DDL like this:`CREATE TABLE mytable( CId int, CCId varchar(10), CCount int, totalCount int);GOINSERT MyTable VALUES (1, 'a',3, 6), (1, 'a', 3, 6), (1, 'b', 3, 6), (1, 'c', 3, 6), (2, 'b', 2, 6), (2, 'b', 2, 6), (2, 'a', 2, 6), (2, 'a', 2, 6), (3, 'v', 1, 6);go`Also, please explain the logic, don't just give some results and expect someone to interpret them to match your business rule. It saves time. Follow me on Twitter: @way0utwestForum Etiquette: How to post data/code on a forum to get the best help
Post #1407894
 Posted Wednesday, January 16, 2013 8:55 AM
 SSC-Dedicated Group: Administrators Last Login: Yesterday @ 1:59 PM Points: 34,363, Visits: 18,582
 This kind of works, but I'm wondering if you've calculated something in this view already.`SELECT cid, COUNT(DISTINCT ccid) FROM dbo.MyTable GROUP BY cid` Follow me on Twitter: @way0utwestForum Etiquette: How to post data/code on a forum to get the best help
Post #1407896
 Posted Wednesday, January 16, 2013 9:22 AM
 SSCrazy Eights Group: General Forum Members Last Login: Thursday, December 1, 2016 10:11 AM Points: 8,587, Visits: 18,753
 `;WITH SampleData AS ( SELECT CId = 1, CCId = 'a', CCount = 3, totalCount = 6 UNION ALL SELECT 1, 'a', 3, 6 UNION ALL SELECT 1, 'b', 3, 6 UNION ALL SELECT 1, 'c', 3, 6 UNION ALL SELECT 2, 'b', 2, 6 UNION ALL SELECT 2, 'b', 2, 6 UNION ALL SELECT 2, 'a', 2, 6 UNION ALL SELECT 2, 'a', 2, 6 UNION ALL SELECT 3, 'v', 1, 6) SELECT CId, CCId, CCount, totalCount = SUM([First]) OVER (PARTITION BY (SELECT NULL))FROM ( SELECT *, [First] = CASE WHEN 1 = ROW_NUMBER() OVER(PARTITION BY CId ORDER BY CCId) THEN CCount END FROM SampleData) d` “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail ShawFor fast, accurate and documented assistance in answering your questions, please read this article.Understanding and using APPLY, (I) and (II) Paul White Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff ModenExploring Recursive CTEs by Example Dwain Camps
Post #1407921
 Posted Wednesday, January 16, 2013 11:08 AM
 SSC Rookie Group: General Forum Members Last Login: Monday, July 13, 2015 12:45 AM Points: 34, Visits: 85
 As per my requirement , it would be something :SELECT CId, CCId, CCount, (select totalCount = SUM([First]) OVER (PARTITION BY (SELECT NULL))FROM ( SELECT *, [First] = CASE WHEN 1 = ROW_NUMBER() OVER(PARTITION BY CId ORDER BY CCId) THEN CCount END FROM SampleData) d)from SampleDatabut it's giving error.
Post #1408008
 Posted Wednesday, January 16, 2013 12:04 PM
 SSCoach Group: General Forum Members Last Login: Today @ 9:55 AM Points: 16,141, Visits: 16,844
 Well the query that Chris posted returns the exact output you specified. If you need something different you have to explain it. We can't see your screen, we are not familiar with your project and we don't know the business rules. _______________________________________________________________Need help? Help us help you. Read the article at http://www.sqlservercentral.com/articles/Best+Practices/61537/ for best practices on asking questions.Need to split a string? Try Jeff Moden's splitter.Cross Tabs and Pivots, Part 1 – Converting Rows to Columns Cross Tabs and Pivots, Part 2 - Dynamic Cross Tabs Understanding and Using APPLY (Part 1)Understanding and Using APPLY (Part 2)
Post #1408027
 Posted Wednesday, January 16, 2013 5:42 PM
 Hall of Fame Group: General Forum Members Last Login: Wednesday, February 24, 2016 6:28 AM Points: 3,977, Visits: 6,431
 ChrisM@Work (1/16/2013)`;WITH SampleData AS ( SELECT CId = 1, CCId = 'a', CCount = 3, totalCount = 6 UNION ALL SELECT 1, 'a', 3, 6 UNION ALL SELECT 1, 'b', 3, 6 UNION ALL SELECT 1, 'c', 3, 6 UNION ALL SELECT 2, 'b', 2, 6 UNION ALL SELECT 2, 'b', 2, 6 UNION ALL SELECT 2, 'a', 2, 6 UNION ALL SELECT 2, 'a', 2, 6 UNION ALL SELECT 3, 'v', 1, 6) SELECT CId, CCId, CCount, totalCount = SUM([First]) OVER (PARTITION BY (SELECT NULL))FROM ( SELECT *, [First] = CASE WHEN 1 = ROW_NUMBER() OVER(PARTITION BY CId ORDER BY CCId) THEN CCount END FROM SampleData) d`+1Chris - You are a true code-talker! Are you sure you're not part Navaho? My mantra: No loops! No CURSORs! No RBAR! Hoo-uh!My thought question: Have you ever been told that your query runs too fast?My advice:INDEXing a poor-performing query is like putting sugar on cat food. Yeah, it probably tastes better but are you sure you want to eat it?The path of least resistance can be a slippery slope. Take care that fixing your fixes of fixes doesn't snowball and end up costing you more than fixing the root cause would have in the first place.Need to UNPIVOT? Why not CROSS APPLY VALUES instead?Since random numbers are too important to be left to chance, let's generate some!Learn to understand recursive CTEs by example.Splitting strings based on patterns can be fast!My temporal SQL musings: Calendar Tables, an Easter SQL, Time Slots and Self-maintaining, Contiguous Effective Dates in Temporal Tables
Post #1408110
 Posted Wednesday, January 16, 2013 11:30 PM
 SSC Rookie Group: General Forum Members Last Login: Monday, July 13, 2015 12:45 AM Points: 34, Visits: 85
 The ccount is not obtain directly from table as done here.Am rather using the View written as belowWith compTable(cid,ccid,ccount)as AS ( select parentid,childrenId,COUNT(cmpcd) FROM group by parentid,childrenId,cmpcd )select decsr, pnumber, (SELECT count(ccount) FROM compTable where parentid=ch.cn_id) as [Count] ,--[this is ccount] -- here i need the total countfrom table ch inner join table bon ch.id=b.id
Post #1408158
 Posted Thursday, January 17, 2013 1:09 AM
 SSCrazy Eights Group: General Forum Members Last Login: Thursday, December 1, 2016 10:11 AM Points: 8,587, Visits: 18,753
 sabeer.mvit (1/16/2013)The ccount is not obtain directly from table as done here.Am rather using the View written as belowWith compTable(cid,ccid,ccount)as AS ( select parentid,childrenId,COUNT(cmpcd) FROM group by parentid,childrenId,cmpcd )select decsr, pnumber, (SELECT count(ccount) FROM compTable where parentid=ch.cn_id) as [Count] ,--[this is ccount] -- here i need the total countfrom table ch inner join table bon ch.id=b.idCan you post the whole query referencing the view, and also the view definition, please? Some sample data would help too - exactly what will probably depend upon the view definition. “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail ShawFor fast, accurate and documented assistance in answering your questions, please read this article.Understanding and using APPLY, (I) and (II) Paul White Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff ModenExploring Recursive CTEs by Example Dwain Camps
Post #1408198
 Posted Thursday, January 17, 2013 1:11 AM
 SSCrazy Eights Group: General Forum Members Last Login: Thursday, December 1, 2016 10:11 AM Points: 8,587, Visits: 18,753
 dwain.c (1/16/2013)... Are you sure you're not part Navaho?No but one of my programming buddies went AWOL for six months last year - and resurfaced in Michigan married to an Apache! “Write the query the simplest way. If through testing it becomes clear that the performance is inadequate, consider alternative query forms.” - Gail ShawFor fast, accurate and documented assistance in answering your questions, please read this article.Understanding and using APPLY, (I) and (II) Paul White Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff ModenExploring Recursive CTEs by Example Dwain Camps
Post #1408199

 Permissions