Monday, December 30, 2019

TOP 5 ITEMS FROM EACH CATEGORY

;with Rohi  as
(
 select
GlobalCodeName ,sortorder,GlobalCodeCategoryID,
 ROW_NUMBER() OVER (PARTITION BY GlobalCodeCategoryID order by GlobalCodeCategoryID  ) AS  'RowNum'

  from GlobalCodes
  )
  select * from Rohi where RowNum <=5
 
  select (max(SortOrder)) + 1 from GlobalCodes where GlobalCodeCategoryID=13
  --pass the date
  select Isnull(max(SortOrder),0) + 1 from GlobalCodes where GlobalCodeCategoryID=13

usage of ntile

CREATE TABLE ntile_usage (
ID INT NOT NULL
);



INSERT INTO ntile_usage(ID)
VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12),(13),(14),(15);


SELECT * FROM ntile_usage;

declare @p  int = 4

SELECT
 ID,
 NTILE (@p) OVER (
 ORDER BY ID
 ) GroupIDs
FROM
 ntile_usage;

Group by with use CUBE, ROLLUP AND GRUPING SETS

CREATE TABLE Sales ( Country varchar(50), Region varchar(50), Sales int );

INSERT INTO sales VALUES (N'Canada', N'Alberta', 100);
INSERT INTO sales VALUES (N'Canada', N'British Columbia', 200);
INSERT INTO sales VALUES (N'Canada', N'British Columbia', 300);
INSERT INTO sales VALUES (N'United States', N'Montana', 100);

INSERT INTO sales VALUES (N'United States', N'NY', 300);


INSERT INTO sales VALUES (N'Canada', N'Alberta', 150);

INSERT INTO sales VALUES (N'Canada', N'Ottwa', 150);


SELECT Country, Region, SUM(sales) AS TotalSales
FROM Sales
GROUP BY Country, Region;

SELECT Country, Region, SUM(Sales) AS TotalSales
FROM Sales
GROUP BY ROLLUP (Country, Region);

SELECT Country, Region, SUM(Sales) AS TotalSales
FROM Sales
GROUP BY CUBE (Country, Region);


SELECT Country, SUM(Sales) AS TotalSales
FROM Sales
GROUP BY GROUPING SETS ( Country, () );

Easiest way to format number to using JavaScript

 var currency = $(sender).val();
            var _amtToVal = (Math.round(currency * 100) / 100).toFixed(2);//.toLocaleString('en-US');
            var _ForamtValue = _amtToVal.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1,");

Where sender is the control id

var currency = $('#sender').val();