wozniol

Untitled

Jan 19th, 2019
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 2.79 KB | None | 0 0
  1. SELECT top 1 WITH ties  *
  2. FROM [SalesLT].[Product]
  3. ORDER BY [Weight] DESC
  4. WITH TIES - pokazanie poycji o tej samej wartosci, niby top 1 a zwroci dwa wyniki
  5.  
  6. SELECT DISTINCT c.Name
  7. FROM [SalesLT].[Product] AS p
  8. JOIN [SalesLT].[ProductCategory] AS c
  9. ON p.ProductCategoryID = c.ProductCategoryID
  10. WHERE [Weight] = (SELECT MAX([Weight]) FROM [SalesLT].[Product])
  11.  
  12. # Znajdz miasto w ktorym mIEszkaja klienci ktorzy jeszcze nic nie kupili ->
  13. SELECT [City], COUNT(*) AS [liczba klientow]
  14. FROM [SalesLT].[Address] AS a
  15. LEFT JOIN  [SalesLT].[SalesOrderHeader] AS oh
  16. ON a.AddressID = oh.ShipToAddressID
  17. WHERE [CustomerID] IS NULL
  18. GROUP BY [City]
  19. ORDER BY [liczba klientow] DESC
  20.  
  21. -- Policz cene brutto
  22. -- 1 . cat 20% VAT
  23. -- 2 . cat 10%
  24. -- > 2 . cat 15%
  25.  
  26. SELECT p.Name, p.ListPrice,
  27.     CASE
  28.         WHEN c.ParentProductCategoryID=1 THEN p.ListPrice * 1.2
  29.         WHEN c.ParentProductCategoryID=2 THEN p.ListPrice * 1.1
  30.         ELSE p.ListPrice * 1.15
  31.     END AS brutto
  32. FROM [SalesLT].[Product] AS p
  33. JOIN [SalesLT].[ProductCategory] AS c
  34. ON p.ProductCategoryID = c.ProductCategoryID
  35. ORDER BY c.[ProductCategoryID]
  36.  
  37.  
  38.  
  39.  
  40.  
  41. CREATE VIEW vProductPrice_iJo AS  -> tworzenie widoku
  42.  
  43. GO
  44. SELECT *
  45. FROM [dbo].[vProductPrice_iJo]
  46. GO
  47.  
  48.  
  49.  
  50.  
  51.  
  52. -- cena w zl kiedy jest parzysta
  53. -- numer produktu, konczy sie na L,M albo S
  54. -- ważą mniej niz 1000 i nie wiecej niz 5 000
  55. -- są w sprzedaży
  56. SELECT *
  57. FROM [SalesLT].[Product]
  58. WHERE ROUND([ListPrice], 0) % 2 = 0
  59. AND RIGHT([ProductNumber], 1) IN ('L', 'M', 'S')
  60. AND [SellEndDate] IS NULL
  61. AND ([Weight] BETWEEN 1000 AND 5000 OR [Weight] IS NULL)
  62.  
  63.  
  64. SELECT [Name],  [ListPrice],
  65.         MAX([ListPrice]) OVER() AS 'Maks',
  66.         MIN([ListPrice]) OVER() AS 'Min',
  67.         MAX([ListPrice]) OVER() - MIN([ListPrice]) OVER() AS rozstep,
  68.         CUME_DIST() OVER (ORDER BY [ListPrice]) AS freqency,
  69.         PERCENTILE_CONT(0.5) WITHIN GROUP ( ORDER BY [ListPrice]) OVER() AS medianCount,
  70.         PERCENTILE_CONT(0.25) WITHIN GROUP ( ORDER BY [ListPrice]) OVER() AS firstQ,
  71.         PERCENTILE_CONT(0.75) WITHIN GROUP ( ORDER BY [ListPrice]) OVER() AS lastQ,
  72.         STDEV([ListPrice]) OVER() AS odchylenieStandardowe
  73.  
  74. FROM [SalesLT].[Product]
  75. -- nazwa cena min max mediana kwartyl, rozstep
  76.  
  77.  
  78. WITH podzapytanie AS
  79. (SELECT *,
  80.     AVG([ListPrice]) OVER() AS medina,
  81.     2 * STDEV([ListPrice]) OVER() AS sd2
  82. FROM [SalesLT].[Product])
  83.  
  84. SELECT *
  85. FROM podzapytanie
  86. WHERE [ListPrice] > medina + sd2
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94. -- PONUMERUJ KATEGORIE NA PODSTAWIE SREDNICH CEN PRODUTKOW
  95. WITH cte AS
  96. (SELECT ROW_NUMBER() OVER(ORDER BY avg([ListPrice]) DESC) AS ID, c.Name, avg([ListPrice]) AS avgPrice
  97. FROM [SalesLT].[Product] AS p
  98. JOIN [SalesLT].[ProductCategory] AS c
  99.     ON c.ProductCategoryID = p.ProductCategoryID
  100.  
  101.    
  102. GROUP BY c.Name)
  103. --order by avgPrice desc
  104.  
  105. SELECT *
  106. FROM cte
  107. WHERE ID BETWEEN 10 AND 25
  108. ORDER BY avgPrice DESC
Add Comment
Please, Sign In to add comment