How to find the cumulative Sum

How to get the fastest result in 180 million records table to get the BTN(BillingTelephoneNbr) wise MonthlySalesCost.
select B.BTN,b.cost,sum(a.cost) as cum_sal
from Monthly_BTN a,Monthly_BTN b
where a.rowid <= b.rowid
group by b.rowid,b.BTN,b.cost.
Above query is taking up the too much time.
Option:-
a) partition the table
b) rebuild the index
c) alter the index
d) any other suggestion??
Let me know the best way.

I don't understand why you need a self-join.
See the following example, with cumulative sum about deptno :
SCOTT@demo102> ed
Wrote file afiedt.buf
  1  select empno, deptno, sal, sum(sal) over (partition by deptno order by empno)
  2  from emp
  3* order by deptno , empno
SCOTT@demo102> /
     EMPNO     DEPTNO        SAL SUM(SAL)OVER(PARTITIONBYDEPTNOORDERBYEMPNO)
      7782         10      24500                                       24500
      7839         10      50000                                       74500
      7934         10      13000                                       87500
      7369         20       8000                                        8000
      7566         20      29750                                       37750
      7788         20      30000                                       67750
      7876         20      11000                                       78750
      7902         20      30000                                      108750
      7499         30      16000                                       16000
      7521         30      12500                                       28500
      7654         30      12500                                       41000
      7698         30      28500                                       69500
      7844         30      15000                                       84500
      7900         30       9500                                       94000
14 rows selected.
SCOTT@demo102> So, your query would be :
select BTN,cost,sum(cost) over (partition by BTN order by BTN,cost) as ***_sal
from Monthly_BTN
order by BTN,cost;Anyway, a query without where clause on a huge table (180 million records) seems to me like a little strange, are you sure that you will read all rows ?
Nicolas.
partition or not partition about BTN... like you want.
Message was edited by:
N. Gasparotto

Similar Messages

  • How to calculate the cumulative sum  with certain interval in SAP HANA

    Hi Experts,
    I have a scenario in which I have a column with Boolean values and need to calculate the cumulative values in the interval where there are consecutive ones as mentioned below,
    ID          Date                           column 1
    1         9-14-2014 14:22:00          1
    1          9-14-2014 14:25:00          1
    2          9-14-2014 13:22:00          0
    1          9-14-2014 15:02:00          0
    1          9-14-2014 14:37:00          0
    2          9-14-2014 14:25:00          1
    2          9-14-2014 14:32:00          1
    1          9-14-2014 14:05:00          1
    2          9-14-2014 14:45:00          0
    2          9-14-2014 14:59:00          0
    1          9-14-2014 15:12:00          1
    1          9-14-2014 15:18:00          1
    1          9-14-2014 15:21:00          1
    First needs to group by 'ID' and Order By ' Date' and calculate the calculated column 'cumulative sum' for the consecutive ones in 'column1' as
    ID          Date                           column 1          Cumulative sum
    1          9-14-2014 14:05:00          1                    1    
    1          9-14-2014 14:22:00          1                    2
    1          9-14-2014 14:25:00          1                    3
    1          9-14-2014 14:37:00          0                    0
    1          9-14-2014 15:02:00          0                    0
    1          9-14-2014 15:12:00          1                    1
    1          9-14-2014 15:18:00          1                    2
    1          9-14-2014 15:21:00          1                    3
    2          9-14-2014 13:22:00          0                    0
    2          9-14-2014 14:25:00          1                    1
    2          9-14-2014 14:32:00          1                    2
    2          9-14-2014 14:45:00          0                    0
    2          9-14-2014 14:59:00          0                    0
    Is there any function and way to calculate this  without loops in procedure?
    Please help!!. Thank you!!
    -Gayathri

    Hi Henrique,
    The SQL,
    SELECT id, date, col1, sum(col1) over (partition by col1 order by id, date) as cumulative_sum
    will give me the cumulative value for all the col 1 with same value which is not my requirement,
    the above will give the result as shown below. I have also added the correct values as per my requirement as well
    ID          Date                           column 1          Cumulative sum     correct ***_sum
    1          9-14-2014 14:05:00          1                    1                              1
    1          9-14-2014 14:22:00          1                    2                              2
    1          9-14-2014 14:25:00          1                   2                              3
    1          9-14-2014 14:37:00          0                    0                              0
    1          9-14-2014 15:02:00          0                    0                              0
    1          9-14-2014 15:12:00          1                   4                              1
    1          9-14-2014 15:18:00          1                   5                              2
    1          9-14-2014 15:21:00          1                    6                              3
    2          9-14-2014 13:22:00          0                    0                              0
    2          9-14-2014 14:25:00          1                    1                              1
    2          9-14-2014 14:32:00          1                    2                              2
    for my requirement , I need to find the cumulative value only for the consecutive 1s if there are 0s in between then there should be a break and cumulative sum should start again for the next set of consecutive 1s
    Hope you could help. Thanks.
    -Gayathri

  • How to find the number of entries in a master data table

    Hi Experts,
    I am trying to find the entries in 0CUSTOMER master data.
    BW>LISTCUBE>Data target: 0CUSTOMER and selected the fields that I need.
    I would like to know how to find the "number of entrees". I tried to run the SUM for a count field, but it is taking forever as there are huge number of records .

    Hi Dev,
    Go to the change/display mode of the info object (0CUSTOMER) in your case. Go to the Master data/Text tab. Here you will find the master data tables according to your settings (P orQ or X or Y). Double click on the table name and it will take you to the SE11 display. From there, you can check the number of records as you do in any transparent table.
    Hope this helps.
    Thanks and Regards
    Subray Hegde

  • How to find the db size

    Hi ,
    Please tell me how to find the db size.
    Thanks,
    Kumar.

    If I understand correctly, the above query will give the space allocated to the database. This isn't necessarily the same as the space used by the database. Or do I need to clean my glasses ?
    I use the following to get sizes for tablespaces (may need some formatting done - works in 9i and 10g) :
    SELECT
         Total.name "TABLESPACE_NAME",
         total_space "TABLESPACE_SIZE",
         nvl(Free_space, 0) Free_space,
         nvl(total_space-Free_space, 0) Used_space
    FROM
         select
              tablespace_name,
              sum(bytes/1024/1024) Free_Space
         from
              sys.dba_free_space
         group by
              tablespace_name
         ) Free,
         select
              b.name,
              sum(bytes/1024/1024) TOTAL_SPACE
         from
              sys.v_$datafile a,
              sys.v_$tablespace B
         where
              a.ts# = b.ts#
         group by
              b.name
         ) Total
    WHERE
         Free.Tablespace_name(+) = Total.name
    ORDER BY
         Total.name
    ;

  • How to find the SQL Server Instances running across the given activer directory domain?

    How to find the SQL Server Instances running across the given activer directory domain?
    I have though of OSQL -L , Microsoft Assessment and Planning ( MAP ) tool and SQLPing3 (SQLSecurity) might help me.
    I would appreciate if there any other way of finding the SQL Servers / Instances running across the given active directory domain.
    Sivaprasad S
    http://sivasql.blogspot.com
    Please click the Mark as Answer button if a post solves your problem!

    Dear ,
    Very simple u find all instances through the customized sp which is get all details about inventory. Like i put the sp bellow. This is without any tool. 
    USE [master]
    GO
    /****** Object:  StoredProcedure [dbo].[DBStatus]    Script Date: 08-01-2015 19:46:11 By Damodar Patle Sr. DBA Mumbai India ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    ALTER PROCEDURE [dbo].[DBStatus] 
    AS
    SELECT 
    SERVERPROPERTY('servername') AS ServerName,
    ConnectionProperty('local_net_address') AS 'local_net_address',
    ConnectionProperty('local_tcp_port') AS 'local_tcp_port',
    CONVERT(VARCHAR(25), @@VERSION) as  VERSIONSQL,
    SERVERPROPERTY('ErrorLogFileName') AS ErrorLogFilePath,
    database_id,
    CONVERT(VARCHAR(25), DB.name) AS DBName,
    CONVERT(VARCHAR(10), DATABASEPROPERTYEX(name, 'status')) AS [Status],
    CONVERT(VARCHAR(10), DATABASEPROPERTYEX(name, 'Recovery')) AS [Recovery_Model],
    create_date as DBCreate_Date, --physical_device_name,
     (SELECT COUNT(1) FROM sys.master_files WHERE DB_NAME(database_id) = DB.name AND type_desc = 'rows') AS DataFiles,
     (SELECT SUM((size*8)/1024) FROM sys.master_files WHERE DB_NAME(database_id) = DB.name AND type_desc = 'rows') AS [Data MB],
     (SELECT COUNT(1) FROM sys.master_files WHERE DB_NAME(database_id) = DB.name AND type_desc = 'log') AS LogFiles,
     (SELECT SUM((size*8)/1024) FROM sys.master_files WHERE DB_NAME(database_id) = DB.name AND type_desc = 'log') AS [Log MB],
     (SELECT physical_name FROM sys.master_files WHERE DB_NAME(database_id) = DB.name AND type_desc = 'rows') AS MDF_File_Location,
     (SELECT physical_name FROM sys.master_files WHERE DB_NAME(database_id) = DB.name AND type_desc = 'log') AS  LDF_File_Location,
       user_access_desc
       FROM sys.databases DB
       ORDER BY dbName, [Log MB] DESC, NAME

  • How to find the database growth rate?

    Wanted to do the forecasting of disk growth for one year. How to find the database growth rate?
    Rahul

    This is code authored by Richard Ding that will log database sizes to a table.  If you run it every day, then you can go back and compare the database size differences day to day... week to week... month to month... and year over year.  That is
    how I forecast growth over time.
    Note:  There is a database name required that is local to your environment, so change [YOURDATABASENAME] to whatever local database you wish to use.  I will also post the DDL to create the target table.  Create that table in the database you
    name in the stored procedure code and all should run fine.
    USE [master]
    GO
    /****** Object: StoredProcedure [dbo].[sp_SDS] Script Date: 04/22/2015 09:32:53 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE PROCEDURE [dbo].[sp_SDS]
    @TargetDatabase sysname = NULL, -- NULL: all dbs
    @Level varchar(10) = 'Database', -- or "File"
    @UpdateUsage bit = 0, -- default no update
    @Unit char(2) = 'MB' -- Megabytes, Kilobytes or Gigabytes
    AS
    ** author: Richard Ding
    ** date: 4/8/2008
    ** usage: list db size AND path w/o SUMmary
    ** test code: sp_SDS -- default behavior
    ** sp_SDS 'maAster'
    ** sp_SDS NULL, NULL, 0
    ** sp_SDS NULL, 'file', 1, 'GB'
    ** sp_SDS 'Test_snapshot', 'Database', 1
    ** sp_SDS 'Test', 'File', 0, 'kb'
    ** sp_SDS 'pfaids', 'Database', 0, 'gb'
    ** sp_SDS 'tempdb', NULL, 1, 'kb'
    SET NOCOUNT ON;
    IF @TargetDatabase IS NOT NULL AND DB_ID(@TargetDatabase) IS NULL
    BEGIN
    RAISERROR(15010, -1, -1, @TargetDatabase);
    RETURN (-1)
    END
    IF OBJECT_ID('tempdb.dbo.##Tbl_CombinedInfo', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_CombinedInfo;
    IF OBJECT_ID('tempdb.dbo.##Tbl_DbFileStats', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_DbFileStats;
    IF OBJECT_ID('tempdb.dbo.##Tbl_ValidDbs', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_ValidDbs;
    IF OBJECT_ID('tempdb.dbo.##Tbl_Logs', 'U') IS NOT NULL
    DROP TABLE dbo.##Tbl_Logs;
    CREATE TABLE dbo.##Tbl_CombinedInfo (
    DatabaseName sysname NULL,
    [type] VARCHAR(10) NULL,
    LogicalName sysname NULL,
    T dec(10, 2) NULL,
    U dec(10, 2) NULL,
    [U(%)] dec(5, 2) NULL,
    F dec(10, 2) NULL,
    [F(%)] dec(5, 2) NULL,
    PhysicalName sysname NULL );
    CREATE TABLE dbo.##Tbl_DbFileStats (
    Id int identity,
    DatabaseName sysname NULL,
    FileId int NULL,
    FileGroup int NULL,
    TotalExtents bigint NULL,
    UsedExtents bigint NULL,
    Name sysname NULL,
    FileName varchar(255) NULL );
    CREATE TABLE dbo.##Tbl_ValidDbs (
    Id int identity,
    Dbname sysname NULL );
    CREATE TABLE dbo.##Tbl_Logs (
    DatabaseName sysname NULL,
    LogSize dec (10, 2) NULL,
    LogSpaceUsedPercent dec (5, 2) NULL,
    Status int NULL );
    DECLARE @Ver varchar(10),
    @DatabaseName sysname,
    @Ident_last int,
    @String varchar(2000),
    @BaseString varchar(2000);
    SELECT @DatabaseName = '',
    @Ident_last = 0,
    @String = '',
    @Ver = CASE WHEN @@VERSION LIKE '%9.0%' THEN 'SQL 2005'
    WHEN @@VERSION LIKE '%8.0%' THEN 'SQL 2000'
    WHEN @@VERSION LIKE '%10.0%' THEN 'SQL 2008'
    WHEN @@VERSION LIKE '%11.0%' THEN 'SQL 2012'
    WHEN @@VERSION LIKE '%12.0%' THEN 'SQL 2014'
    END;
    SELECT @BaseString =
    ' SELECT DB_NAME(), ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'CASE WHEN status & 0x40 = 0x40 THEN ''Log'' ELSE ''Data'' END'
    ELSE ' CASE type WHEN 0 THEN ''Data'' WHEN 1 THEN ''Log'' WHEN 4 THEN ''Full-text'' ELSE ''reserved'' END' END +
    ', name, ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'filename' ELSE 'physical_name' END +
    ', size*8.0/1024.0 FROM ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'sysfiles' ELSE 'sys.database_files' END +
    ' WHERE '
    + CASE WHEN @Ver = 'SQL 2000' THEN ' HAS_DBACCESS(DB_NAME()) = 1' ELSE 'state_desc = ''ONLINE''' END + '';
    SELECT @String = 'INSERT INTO dbo.##Tbl_ValidDbs SELECT name FROM ' +
    CASE WHEN @Ver = 'SQL 2000' THEN 'master.dbo.sysdatabases'
    WHEN @Ver IN ('SQL 2005', 'SQL 2008', 'SQL 2012', 'SQL 2014') THEN 'master.sys.databases'
    END + ' WHERE HAS_DBACCESS(name) = 1 ORDER BY name ASC';
    EXEC (@String);
    INSERT INTO dbo.##Tbl_Logs EXEC ('DBCC SQLPERF (LOGSPACE) WITH NO_INFOMSGS');
    -- For data part
    IF @TargetDatabase IS NOT NULL
    BEGIN
    SELECT @DatabaseName = @TargetDatabase;
    IF @UpdateUsage <> 0 AND DATABASEPROPERTYEX (@DatabaseName,'Status') = 'ONLINE'
    AND DATABASEPROPERTYEX (@DatabaseName, 'Updateability') <> 'READ_ONLY'
    BEGIN
    SELECT @String = 'USE [' + @DatabaseName + '] DBCC UPDATEUSAGE (0)';
    PRINT '*** ' + @String + ' *** ';
    EXEC (@String);
    PRINT '';
    END
    SELECT @String = 'INSERT INTO dbo.##Tbl_CombinedInfo (DatabaseName, type, LogicalName, PhysicalName, T) ' + @BaseString;
    INSERT INTO dbo.##Tbl_DbFileStats (FileId, FileGroup, TotalExtents, UsedExtents, Name, FileName)
    EXEC ('USE [' + @DatabaseName + '] DBCC SHOWFILESTATS WITH NO_INFOMSGS');
    EXEC ('USE [' + @DatabaseName + '] ' + @String);
    UPDATE dbo.##Tbl_DbFileStats SET DatabaseName = @DatabaseName;
    END
    ELSE
    BEGIN
    WHILE 1 = 1
    BEGIN
    SELECT TOP 1 @DatabaseName = Dbname FROM dbo.##Tbl_ValidDbs WHERE Dbname > @DatabaseName ORDER BY Dbname ASC;
    IF @@ROWCOUNT = 0
    BREAK;
    IF @UpdateUsage <> 0 AND DATABASEPROPERTYEX (@DatabaseName, 'Status') = 'ONLINE'
    AND DATABASEPROPERTYEX (@DatabaseName, 'Updateability') <> 'READ_ONLY'
    BEGIN
    SELECT @String = 'DBCC UPDATEUSAGE (''' + @DatabaseName + ''') ';
    PRINT '*** ' + @String + '*** ';
    EXEC (@String);
    PRINT '';
    END
    SELECT @Ident_last = ISNULL(MAX(Id), 0) FROM dbo.##Tbl_DbFileStats;
    SELECT @String = 'INSERT INTO dbo.##Tbl_CombinedInfo (DatabaseName, type, LogicalName, PhysicalName, T) ' + @BaseString;
    EXEC ('USE [' + @DatabaseName + '] ' + @String);
    INSERT INTO dbo.##Tbl_DbFileStats (FileId, FileGroup, TotalExtents, UsedExtents, Name, FileName)
    EXEC ('USE [' + @DatabaseName + '] DBCC SHOWFILESTATS WITH NO_INFOMSGS');
    UPDATE dbo.##Tbl_DbFileStats SET DatabaseName = @DatabaseName WHERE Id BETWEEN @Ident_last + 1 AND @@IDENTITY;
    END
    END
    -- set used size for data files, do not change total obtained from sys.database_files as it has for log files
    UPDATE dbo.##Tbl_CombinedInfo
    SET U = s.UsedExtents*8*8/1024.0
    FROM dbo.##Tbl_CombinedInfo t JOIN dbo.##Tbl_DbFileStats s
    ON t.LogicalName = s.Name AND s.DatabaseName = t.DatabaseName;
    -- set used size and % values for log files:
    UPDATE dbo.##Tbl_CombinedInfo
    SET [U(%)] = LogSpaceUsedPercent,
    U = T * LogSpaceUsedPercent/100.0
    FROM dbo.##Tbl_CombinedInfo t JOIN dbo.##Tbl_Logs l
    ON l.DatabaseName = t.DatabaseName
    WHERE t.type = 'Log';
    UPDATE dbo.##Tbl_CombinedInfo SET F = T - U, [U(%)] = U*100.0/T;
    UPDATE dbo.##Tbl_CombinedInfo SET [F(%)] = F*100.0/T;
    IF UPPER(ISNULL(@Level, 'DATABASE')) = 'FILE'
    BEGIN
    IF @Unit = 'KB'
    UPDATE dbo.##Tbl_CombinedInfo
    SET T = T * 1024, U = U * 1024, F = F * 1024;
    IF @Unit = 'GB'
    UPDATE dbo.##Tbl_CombinedInfo
    SET T = T / 1024, U = U / 1024, F = F / 1024;
    SELECT DatabaseName AS 'Database',
    type AS 'Type',
    LogicalName,
    T AS 'Total',
    U AS 'Used',
    [U(%)] AS 'Used (%)',
    F AS 'Free',
    [F(%)] AS 'Free (%)',
    PhysicalName
    FROM dbo.##Tbl_CombinedInfo
    WHERE DatabaseName LIKE ISNULL(@TargetDatabase, '%')
    ORDER BY DatabaseName ASC, type ASC;
    SELECT CASE WHEN @Unit = 'GB' THEN 'GB' WHEN @Unit = 'KB' THEN 'KB' ELSE 'MB' END AS 'SUM',
    SUM (T) AS 'TOTAL', SUM (U) AS 'USED', SUM (F) AS 'FREE' FROM dbo.##Tbl_CombinedInfo;
    END
    IF UPPER(ISNULL(@Level, 'DATABASE')) = 'DATABASE'
    BEGIN
    DECLARE @Tbl_Final TABLE (
    DatabaseName sysname NULL,
    TOTAL dec (10, 2),
    [=] char(1),
    used dec (10, 2),
    [used (%)] dec (5, 2),
    [+] char(1),
    free dec (10, 2),
    [free (%)] dec (5, 2),
    [==] char(2),
    Data dec (10, 2),
    Data_Used dec (10, 2),
    [Data_Used (%)] dec (5, 2),
    Data_Free dec (10, 2),
    [Data_Free (%)] dec (5, 2),
    [++] char(2),
    Log dec (10, 2),
    Log_Used dec (10, 2),
    [Log_Used (%)] dec (5, 2),
    Log_Free dec (10, 2),
    [Log_Free (%)] dec (5, 2) );
    INSERT INTO @Tbl_Final
    SELECT x.DatabaseName,
    x.Data + y.Log AS 'TOTAL',
    '=' AS '=',
    x.Data_Used + y.Log_Used AS 'U',
    (x.Data_Used + y.Log_Used)*100.0 / (x.Data + y.Log) AS 'U(%)',
    '+' AS '+',
    x.Data_Free + y.Log_Free AS 'F',
    (x.Data_Free + y.Log_Free)*100.0 / (x.Data + y.Log) AS 'F(%)',
    '==' AS '==',
    x.Data,
    x.Data_Used,
    x.Data_Used*100/x.Data AS 'D_U(%)',
    x.Data_Free,
    x.Data_Free*100/x.Data AS 'D_F(%)',
    '++' AS '++',
    y.Log,
    y.Log_Used,
    y.Log_Used*100/y.Log AS 'L_U(%)',
    y.Log_Free,
    y.Log_Free*100/y.Log AS 'L_F(%)'
    FROM
    ( SELECT d.DatabaseName,
    SUM(d.T) AS 'Data',
    SUM(d.U) AS 'Data_Used',
    SUM(d.F) AS 'Data_Free'
    FROM dbo.##Tbl_CombinedInfo d WHERE d.type = 'Data' GROUP BY d.DatabaseName ) AS x
    JOIN
    ( SELECT l.DatabaseName,
    SUM(l.T) AS 'Log',
    SUM(l.U) AS 'Log_Used',
    SUM(l.F) AS 'Log_Free'
    FROM dbo.##Tbl_CombinedInfo l WHERE l.type = 'Log' GROUP BY l.DatabaseName ) AS y
    ON x.DatabaseName = y.DatabaseName;
    IF @Unit = 'KB'
    UPDATE @Tbl_Final SET TOTAL = TOTAL * 1024,
    used = used * 1024,
    free = free * 1024,
    Data = Data * 1024,
    Data_Used = Data_Used * 1024,
    Data_Free = Data_Free * 1024,
    Log = Log * 1024,
    Log_Used = Log_Used * 1024,
    Log_Free = Log_Free * 1024;
    IF @Unit = 'GB'
    UPDATE @Tbl_Final SET TOTAL = TOTAL / 1024,
    used = used / 1024,
    free = free / 1024,
    Data = Data / 1024,
    Data_Used = Data_Used / 1024,
    Data_Free = Data_Free / 1024,
    Log = Log / 1024,
    Log_Used = Log_Used / 1024,
    Log_Free = Log_Free / 1024;
    DECLARE @GrantTotal dec(11, 2);
    SELECT @GrantTotal = SUM(TOTAL) FROM @Tbl_Final;
    INSERT INTO [YOURDATABASENAME].[dbo].[DBSize]
    ([Weight]
    ,[DBName]
    ,[Used]
    ,[Free]
    ,[Total]
    ,[Data]
    ,[Data_Used]
    ,[Log]
    ,[Log_Used]
    ,[DT])
    SELECT
    CONVERT(dec(10, 2), TOTAL*100.0/@GrantTotal) AS 'WEIGHT (%)',
    DatabaseName AS 'DATABASE',
    CONVERT(VARCHAR(12), used) AS 'USED',
    CONVERT(VARCHAR(12), free) AS 'FREE',
    TOTAL,
    CONVERT(VARCHAR(12), Data) AS 'DATA',
    CONVERT(VARCHAR(12), Data_Used) AS 'DATA_USED',
    CONVERT(VARCHAR(12), Log) AS 'LOG',
    CONVERT(VARCHAR(12), Log_Used) AS 'LOG_USED',
    GETDATE()
    FROM @Tbl_Final
    WHERE DatabaseName LIKE ISNULL(@TargetDatabase, '%')
    ORDER BY DatabaseName ASC;
    IF @TargetDatabase IS NULL
    SELECT CASE WHEN @Unit = 'GB' THEN 'GB' WHEN @Unit = 'KB' THEN 'KB' ELSE 'MB' END AS 'SUM',
    SUM (used) AS 'USED',
    SUM (free) AS 'FREE',
    SUM (TOTAL) AS 'TOTAL',
    SUM (Data) AS 'DATA',
    SUM (Log) AS 'LOG'
    FROM @Tbl_Final;
    END
    RETURN (0)
    GO
    USE [YOURDATABASENAME]
    GO
    /****** Object: Table [dbo].[DBSize] Script Date: 04/22/2015 09:49:10 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    SET ANSI_PADDING ON
    GO
    CREATE TABLE [dbo].[DBSize](
    [UID] [int] IDENTITY(1,1) NOT NULL,
    [Weight] [decimal](18, 2) NULL,
    [DBName] [varchar](250) NULL,
    [Used] [decimal](18, 2) NULL,
    [Free] [decimal](18, 2) NULL,
    [Total] [decimal](18, 2) NULL,
    [Data] [decimal](18, 2) NULL,
    [Data_Used] [decimal](18, 2) NULL,
    [Log] [decimal](18, 2) NULL,
    [Log_Used] [decimal](18, 2) NULL,
    [DT] [datetime] NULL,
    CONSTRAINT [PK_DBSize] PRIMARY KEY CLUSTERED
    [UID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    SET ANSI_PADDING OFF
    GO

  • How to find deptno wise sum(sal) using subquery

    hi all,
    how to find deptno wise sum(sal) using subquery.
    can u tell me any one please.
    thanks,
    regards.

    If we are talking standard emp and dept tables ala scott schema then (say); -
    select ename, sal, total_dept_salary
    from emp,
    (select sum(sal) as Total_Dept_Salary,
    deptno
    from empt
    group by
    deptno) saldept
    where emp.deptno = saldept.deptno
    Is that what you were after?? (I would advise against correlated sub-queries on all but the most modest of tables)
    There are nicer ways of doing the subquery depending on which version of the db you are on...

  • How to find the number of data items in a file written with ArryToFile function?

    I have written an array of number in 2 column groups to a file using the LabWindows/CVI function ArrayToFile...Now if I want to read the file with FileToArray Function then how do I know the number of items in the file. during the write time I know how many array items to write. but suppose I want the file to read at some later time then How to find the number of items in the file,So that I can read the exact number and present it. Thanks to all
    If you are young work to Learn, not to earn.
    Solved!
    Go to Solution.

    What about:
    OpenFile ( your file );
    cnt = 0;
    while ((br = ReadLine ( ... )) != -2) {
    if (br == -1) {
    // I/O error: handle it!
    break;
    cnt++;
    CloseFile ( ... );
    There are some ways to improve performance of this code, but if you are not reading thousands of lines it's quite fast.
    After this part you can dimension the array to pass to FileToArray... unless you want to read it yourself since you already have it open!
    Proud to use LW/CVI from 3.1 on.
    My contributions to the Developer Zone Community
    If I have helped you, why not giving me a kudos?

  • How to find the number of links in a website

    hi every body
    can any one clear my doubt
    my doubt is that
    in a website how to find the number of links the hole website contains
    is there any navigation tool to find that
    plz help me yar
    i am waiting for the reply

    If you're talking about commercial sites (sites you don't have the source code for) I'm not sure.
    If you want to count the links in site that you have the source code for, it should be relatively easy to write a Java application to do it. All you really need to do is have a list of the files you want to count links in, read each file line by line and check for the existance of the <a> tag in each line. Anywhere their is an <a> tag there is a link.
    Hope this helps.

  • How to find the number of times method being called.....

    hi,
    can any one pls tell me how to find the number of times the method being called......herez the example....
    Refrence ref = new Refrence();
    for(int i = 0;i < arr.length; i++){
    if(somecondition){
    ref.getMethod();
    here i want to know how many times the getMethod() is calling...Is there any method to do this.. i have seen StrackTraceElement class..but not sure about that....pls tell me the solution....

    can any one pls tell me how to find the number of times the method being called......
    herez the example.... http://www.catb.org/~esr/faqs/smart-questions.html#writewell
    How To Ask Questions The Smart Way
    Eric Steven Raymond
    Rick Moen
    Write in clear, grammatical, correctly-spelled language
    We've found by experience that people who are careless and sloppy writers are usually also careless and sloppy at thinking and coding (often enough to bet on, anyway). Answering questions for careless and sloppy thinkers is not rewarding; we'd rather spend our time elsewhere.
    So expressing your question clearly and well is important. If you can't be bothered to do that, we can't be bothered to pay attention. Spend the extra effort to polish your language. It doesn't have to be stiff or formal ? in fact, hacker culture values informal, slangy and humorous language used with precision. But it has to be precise; there has to be some indication that you're thinking and paying attention.
    Spell, punctuate, and capitalize correctly. Don't confuse "its" with "it's", "loose" with "lose", or "discrete" with "discreet". Don't TYPE IN ALL CAPS; this is read as shouting and considered rude. (All-smalls is only slightly less annoying, as it's difficult to read. Alan Cox can get away with it, but you can't.)
    More generally, if you write like a semi-literate b o o b you will very likely be ignored. So don't use instant-messaging shortcuts. Spelling "you" as "u" makes you look like a semi-literate b o o b to save two entire keystrokes.

  • How to find the number of fetched lines from select statement

    Hi Experts,
    Can you tell me how to find the number of fetched lines from select statements..
    and one more thing is can you tell me how to check the written select statement or written statement is correct or not????
    Thanks in advance
    santosh

    Hi,
    Look for the system field SY_TABIX. That will contain the number of records which have been put into an internal table through a select statement.
    For ex:
    data: itab type mara occurs 0 with header line.
    Select * from mara into table itab.
    Write: Sy-tabix.
    This will give you the number of entries that has been selected.
    I am not sure what you mean by the second question. If you can let me know what you need then we might have a solution.
    Hope this helps,
    Sudhi
    Message was edited by:
            Sudhindra Chandrashekar

  • How to find the number of occurance of a string in text field of Infopath form?

    Hi All,
    In Infopath text field, How to find the number of occurrence of a particular string in that field?
    Thanks in advance!

    You can check to see if it contains a string once by using the contains function, but there isn't a very clean way to do what you want. If you wanted to guess at the maximum number of occurrences, then you could:
    Box A has your initial. Set Box B to do a concat of string-before and string-after of Box A where it copies Box A minus the string we're looking for. Then we have Box C that does the same thing to Box B. Repeat as many times as you see necessary.
    Example:
    String: "1"
    Box A - "123451234512345"
    Box B - "23451234512345"
    Box C - "2345234512345"
    Box D - "234523452345"
    etc.
    We then have a field that has nested ifs looking backwards from Z -> A looking for a non-blank. Based on that, we return the number of occurrences. Again, this isn't clean, but it will work if you think there's a predefinable maximum.
    Andy Wessendorf SharePoint Developer II | Rackspace [email protected]

  • How to find the number of users  connected to database from OS level(Linux)

    Hi All,
    Could anyone know , how to find the number of users connected to database without connecting with sql*plus
    is there any command to find it?
    example we have 10 databases in one server, how to find the number of users connected to particular database without connecting to database(v$session)?
    oracle version:- 10g,11g
    Operating System:- OEL4/OEL5/AIX/Solaris
    any help will be appreciated.
    Thanks in advance.
    Thank you.
    Regards,
    Rajesh.

    Excellent.
    Tested, works as long as you set the ORACLE_SID first ( to change databases )
    ps -ef | grep $ORACLE_SID | grep "LOCAL=NO" | awk '{print $2}' | wc -l
    Thanks!
    select OSUSER
        from V$SESSION
    where AUDSID = SYS_CONTEXT('userenv','sessionid')
        and rownum=1;Best Regards
    mseberg

  • How to find the number simultaneous call at a given moment on UCCX ?

    Hello,
    I would to know how to find the number simultaneous call at a given moment on UCCX ?
    it's on UCCX or UCCX RTMT, I don't know thanks a lot for your help.
    Aubert

    Hi Gergely,
    I should made a report on the number simultaneous call at a given moment on UCC on the server (all calls on the server)..

  • How to Find the number of Databases in a server.

    HI,
    Please tell me how to find the number of Databases are in a server . when the DB is not up.
    ps -ef | grep ora_
    This i know whether our DB is up or not. But i want to know how many databases are in a server .If the database is down .
    Cheers,
    Gobi.

    Hi,
    [oracle@oralinux admin]$ lsnrctl status
    LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 01-DEC-2006 16:25:41
    Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
    TNS-01169: The listener has not recognized the password
    [oracle@oralinux admin]$
    Plz give me the solution.
    Cheers ,
    Gobi.

Maybe you are looking for