Guest User

Untitled

a guest
Jun 17th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.11 KB | None | 0 0
  1. DECLARE @Sales TABLE
  2. (
  3. SalesPersonID varchar(10), TotalSales int
  4. )
  5.  
  6.  
  7. INSERT @Sales
  8. SELECT 1, 200 UNION ALL
  9. SELECT 2, 300 UNION ALL
  10. SELECT 7, 300 UNION ALL
  11. SELECT 4, 100 UNION ALL
  12. SELECT 5, 600 UNION ALL
  13. SELECT 5, 600 UNION ALL
  14. SELECT 2, 200 UNION ALL
  15. SELECT 5, 620 UNION ALL
  16. SELECT 4, 611 UNION ALL
  17. SELECT 3, 650 UNION ALL
  18. SELECT 7, 611 UNION ALL
  19. SELECT 9, 650 UNION ALL
  20. SELECT 3, 555 UNION ALL
  21. SELECT 9, 755 UNION ALL
  22. SELECT 8, 650 UNION ALL
  23. SELECT 3, 620 UNION ALL
  24. SELECT 5, 633 UNION ALL
  25. SELECT 6, 720
  26. GO
  27.  
  28. select top 10 percent SalesPersonID, sum(TotalSales)
  29. from Sales
  30. order by sum(TotalSales)
  31. group by SalesPersonID
  32.  
  33. select top 10 percent SalesPersonID, sum(TotalSales)
  34. from Sales
  35. order by sum(TotalSales) desc
  36. group by SalesPersonID
  37.  
  38. --Top 10%
  39. SELECT TOP 10 PERCENT SalesPersonID, SUM(TotalSales) FROM @Sales
  40. GROUP BY SalesPersonID
  41. ORDER BY SUM(TotalSales) ASC
  42.  
  43. --Bottom 10%
  44. SELECT TOP 10 PERCENT SalesPersonID, SUM(TotalSales) FROM @Sales
  45. GROUP BY SalesPersonID
  46. ORDER BY SUM(TotalSales) DESC
  47.  
  48. --By Dept
  49. SELECT TOP 10 PERCENT Department, SUM(TotalSales) FROM @Sales
  50. GROUP BY Department
  51. ORDER BY SUM(TotalSales) ASC/DESC //(Whichever one you want)
  52.  
  53. DECLARE @Sales TABLE (SalesPersonID varchar(10), TotalSales int)INSERT @Sales
  54. SELECT 1, 200 UNION ALL
  55. SELECT 2, 300 UNION ALL
  56. SELECT 7, 300 UNION ALL
  57. SELECT 4, 100 UNION ALL
  58. SELECT 5, 600 UNION ALL
  59. SELECT 5, 600 UNION ALL
  60. SELECT 2, 200 UNION ALL
  61. SELECT 5, 620 UNION ALL
  62. SELECT 4, 611 UNION ALL
  63. SELECT 3, 650 UNION ALL
  64. SELECT 7, 611 UNION ALL
  65. SELECT 9, 650 UNION ALL
  66. SELECT 3, 555 UNION ALL
  67. SELECT 9, 755 UNION ALL
  68. SELECT 8, 650 UNION ALL
  69. SELECT 3, 620 UNION ALL
  70. SELECT 5, 633 UNION ALL
  71. SELECT 6, 720
  72.  
  73.  
  74. ;with a as
  75. (
  76. select SalesPersonID, sum(TotalSales) as Total
  77. from @Sales
  78. group by SalesPersonID
  79. )
  80. select coalesce(a.SalesPersonID, b.SalesPersonID) as SalesPersonID, coalesce(a.Total,b.Total) as Total
  81. from a a
  82. full outer join a b
  83. on a.SalesPersonID=b.SalesPersonID
  84. where a.SalesPersonID in (select top 10 percent SalesPersonID from a order by Total desc)
  85. or b.SalesPersonID in (select top 10 percent SalesPersonID from a order by Total)
  86. order by a.Total desc
Add Comment
Please, Sign In to add comment