Sql statement to get the count of items in a group.
i have a table as follows
group id items
1 item1
1 item2
1 item3
2 item4
2 item5
i need to get the count of items for each group
the out put should be like
group = 1 count = 3
group = 2 count = 2
i wrote the following query
select group count( * )
into (group , lv_count)
from table1
group by group.
endselect.
is it possible to write this query without using end select.
when i am using the same query with into table addition the count is not coming.
Hi,
It will work, I tested just now, ofcourse with some other table.
Like this:
select group count( * )
INTO TABLE ITAB
from table1
group by group.
Regards,
Amit Mittal.
Similar Messages
-
I need to get a count of documents and folders in a selected document library(the item for EventRecievers for event deleting) and the count of documents in a selected folder(the item for EventRecievers for event deleting) to determine whether the item(document
library or folder) is empty or not, as I need to use this condition for one of my custom EventReceivers.
Can you please suggest me the code to do the same?Hi.
Try this:
class Program
static void Main(string[] args)
using (SPSite site = new SPSite("http://z2012net"))
using (SPWeb web = site.OpenWeb())
SPList l = web.Lists["List001"];
List<FolderInfo> res = new List<FolderInfo>();
getListCount(l.RootFolder, ref res);
private static void getListCount(SPFolder sPFolder, ref List<FolderInfo> res)
SPQuery query = new SPQuery();
query.Folder = sPFolder;
res.Add(new FolderInfo() { ItemCount = sPFolder.ItemCount, Name = sPFolder.Name, Url = sPFolder.Url });
SPListItemCollection items = sPFolder.ParentWeb.Lists[sPFolder.ParentListId].GetItems(query);
foreach (SPListItem item in items)
if (item.FileSystemObjectType == SPFileSystemObjectType.Folder)
SPFolder f = sPFolder.ParentWeb.GetFolder(item.UniqueId);
getListCount(f, ref res);
class FolderInfo
public string Url { get; set; }
public string Name { get; set; }
public int ItemCount { get; set; }
Regards,
Bubu
http://zsvipullo.blogspot.it
Please mark my answer if it helped you, I would greatly appreciate it. -
Bind Variable in SELECT statement and get the value in PL/SQL block
Hi All,
I would like pass bind variable in SELECT statement and get the value of the column in Dynamic SQL
Please seee below
I want to get the below value
Expected result:
select distinct empno ,pr.dept from emp pr, dept ps where ps.dept like '%IT' and pr.empno =100
100, HR
select distinct ename ,pr.dept from emp pr, dept ps where ps.dept like '%IT' and pr.empno =100
TEST, HR
select distinct loc ,pr.dept from emp pr, dept ps where ps.dept like '%IT' and pr.empno =100
NYC, HR
Using the below block I am getting column names only not the value of the column. I need to pass that value(TEST,NYC..) into l_col_val variable
Please suggest
----- TABLE LIST
CREATE TABLE EMP(
EMPNO NUMBER,
ENAME VARCHAR2(255),
DEPT VARCHAR2(255),
LOC VARCHAR2(255)
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (100,'TEST','HR','NYC');
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (200,'TEST1','IT','NYC');
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (300,'TEST2','MR','NYC');
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (400,'TEST3','HR','DTR');
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (500,'TEST4','HR','DAL');
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (600,'TEST5','IT','ATL');
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (700,'TEST6','IT','BOS');
INSERT INTO EMP (EMPNO,ENAME,DEPT,LOC) VALUES (800,'TEST7','HR','NYC');
COMMIT;
CREATE TABLE COLUMNAMES(
COLUMNAME VARCHAR2(255)
INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('EMPNO');
INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('ENAME');
INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('DEPT');
INSERT INTO COLUMNAMES(COLUMNAME) VALUES ('LOC');
COMMIT;
CREATE TABLE DEPT(
DEPT VARCHAR2(255),
DNAME VARCHAR2(255)
INSERT INTO DEPT(DEPT,DNAME) VALUES ('IT','INFORMATION TECH');
INSERT INTO DEPT(DEPT,DNAME) VALUES ('HR','HUMAN RESOURCE');
INSERT INTO DEPT(DEPT,DNAME) VALUES ('MR','MARKETING');
INSERT INTO DEPT(DEPT,DNAME) VALUES ('IT','INFORMATION TECH');
COMMIT;
PL/SQL BLOCK
DECLARE
TYPE EMPCurTyp IS REF CURSOR;
v_EMP_cursor EMPCurTyp;
l_col_val EMP.ENAME%type;
l_ENAME_val EMP.ENAME%type;
l_col_ddl varchar2(4000);
l_col_name varchar2(60);
l_tab_name varchar2(60);
l_empno number ;
b_l_col_name VARCHAR2(255);
b_l_empno NUMBER;
begin
for rec00 in (
select EMPNO aa from EMP
loop
l_empno := rec00.aa;
for rec in (select COLUMNAME as column_name from columnames
loop
l_col_name := rec.column_name;
begin
l_col_val :=null;
l_col_ddl := 'select distinct :b_l_col_name ,pr.dept ' ||' from emp pr, dept ps where ps.dept like ''%IT'' '||' and pr.empno =:b_l_empno';
dbms_output.put_line('DDL ...'||l_col_ddl);
OPEN v_EMP_cursor FOR l_col_ddl USING l_col_name, l_empno;
LOOP
l_col_val :=null;
FETCH v_EMP_cursor INTO l_col_val,l_ename_val;
EXIT WHEN v_EMP_cursor%NOTFOUND;
dbms_output.put_line('l_col_name='||l_col_name ||' empno ='||l_empno);
END LOOP;
CLOSE v_EMP_cursor;
END;
END LOOP;
END LOOP;
END;user1758353 wrote:
Thanks Billy, Would you be able to suggest any other faster method to load the data into table. Thanks,
As Mark responded - it all depends on the actual data to load, structure and source/origin. On my busiest database, I am loading on average 30,000 rows every second from data in external files.
However, the data structures are just that - structured. Logical.
Having a data structure with 100's of fields (columns in a SQL table), raise all kinds of questions about how sane that structure is, and what impact it will have on a physical data model implementation.
There is a gross misunderstanding by many when it comes to performance and scalability. The prime factor that determines performance is not how well you code, what tools/language you use, the h/w your c ode runs on, or anything like that. The prime factor that determines perform is the design of the data model - as it determines the complexity/ease to use the data model, and the amount of I/O (the slowest of all db operations) needed to effectively use the data model. -
I always get the count as 0 for the variable. I am not sure what I am doing wrong. Please let me know if any of you know the fix.
ThanksHere is the query I used now. Still same result
SELECT (select count(*) from usr_all_mbrs where PREMIER_YN = 'Y') AS count1
SELECT
(select
count(*)
from usr_all_mbrs
where PREMIER_YN
=
'Y')
AS count1 -
I'm trying to get the count for each row to total count for each month
Something like this
Hardware | Jan
Monitors | 5
Processors | 137
Printers | 57
etc........
How can I write a query for this. I can get the Hardware column but don't know how to get the next column.If you can provide more data like sample input DML statements it would have been wonderful..
Assuming is , you need a pivot. Here is an article on basic Pivot..
http://sqlsaga.com/sql-server/how-to-use-pivot-to-transform-rows-into-columns-in-sql-server/
something like this may be..
DECLARE @Input TABLE
Hardware VARCHAR(20),
[Date] VARCHAR(20)
INSERT INTO @Input VALUES('Monitor', '01/01/2014'), ('CPU', '01/01/2014'), ('Monitor', '01/03/2014')
, ('ABC', '01/01/2014'),('Monitor', '02/01/2014')
;WITH CTE AS
SELECT Hardware, LEFT(DATENAME(M, [Date]),3) AS [MonthName] FROM @Input
SELECT *
FROM
SELECT Hardware, [MonthName], COUNT(Hardware) AS Count FROM CTE GROUP BY Hardware, [MonthName]) a
PIVOT (MAX([Count]) FOR [MonthName] IN ([Jan], [Feb])) pvt
Please mark as answer, if this has helped you solve the issue.
Good Luck :) .. visit www.sqlsaga.com for more t-sql code snippets and BI related how to articles. -
To get the count of records and able to access the column value in a single
Hi
Is there any way to get the number of records in the query and access the column values
e.g
select count(*)
from
(SELECT department, COUNT(*) as "Number of employees"
FROM employees
WHERE salary > 25000
GROUP BY department ) a
This wil only get the Count, if i want to access each row from the inline view how can i do that.Your question is not clear.
Are you looking for total record count as well as count by department ?
Something like this?
SQL>
SQL> with temp as
2 (
3 select 1 dept ,10000 sal from dual union
4 select 1 dept ,25100 sal from dual union
5 select 1 dept ,30000 sal from dual union
6 select 1 dept ,40000 sal from dual union
7 select 2 dept ,10000 sal from dual union
8 select 2 dept ,25100 sal from dual union
9 select 2 dept ,30000 sal from dual union
10 select 2 dept ,40000 sal from dual )
11 select count(*) over( partition by 1 ) total_count,dept,
12 count(*) over(partition by dept) dept_cnt from temp
13 where sal>25000;
TOTAL_COUNT DEPT DEPT_CNT
6 1 3
6 1 3
6 1 3
6 2 3
6 2 3
6 2 3
6 rows selected
SQL> -
Select Count(*) from Sample_table - how to get the count using JDBC?
Hi All,
It would be glad if anyone could help me with this. The problem is that I have to get the 'count' of records selected from a arbitrary table say, 'sample_table'. Is that possible to form the SQL in JDBC as
Select Count(*) from Sample_table
and get the value of the count? If yes, how?
Thanks in advance
Prabzstmt = con.createStatement();
ResultSet recordcnt_rs = stmt.executeQuery("Select Count (*) as record_ctr From Sample_table");
recordcnt_rs.next();
record_ctr = recordcnt_rs.getInt("record_ctr");
hope this helps. -
Use SQL function to get the original order number using the invoice number
Hi All,
wondering is someone can help me with this challenge I am having? Often I need to return the original order numbers that created the resulting invoce. This is a relatively simple seriese of joins in a query but I am wanting to simplify it using a SQL function that can be referenced each time easily from with in the SELECT statement. the code i currently have is:
Use SQL function to get the original order number using the invoice number
CREATE FUNCTION dbo.fnOrdersThatMakeInvoice(@InvNum int)
RETURNS nvarchar(200)
AS
BEGIN
DECLARE @OrderList nvarchar(200)
SET @OrderList = ''
SELECT @OrderList = @OrderList + (cast(T6.DocNum AS nvarchar(10)) + ' ')
FROM OINV AS T1 INNER JOIN
INV1 AS T2 ON T1.DocEntry = T2.DocEntry INNER JOIN
DLN1 AS T4 ON T2.BaseEntry = T4.DocEntry AND T2.BaseLine = T4.LineNum INNER JOIN
RDR1 AS T5 ON T4.BaseEntry = T5.DocEntry AND T4.BaseLine = T5.LineNum INNER JOIN
ORDR AS T6 ON T5.DocEntry = T6.DocEntry
WHERE T1.DocNum = @InvNum
RETURN @OrderList
END
it is run by the following query:
Select T1.DocNum, dbo.fnOrdersThatMakeInvoice(T1.DocNum)
From OINV T1
Where T1.DocNum = 'your invoice number here'
The issue is that this returns the order number for all of the lines in the invoice. Only want to see the summary of the order numbers. ie if 3 orders were used to make a 20 line inovice I only want to see the 3 order numbers retuned in the field.
If this was a simple reporting SELECT query I would use SELECT DISTINCT. But I can't do that.
Any ideas?
Thanks,
MikeThanks Gordon,
I am trying to get away from the massive table access list everytime I write a query where I need to access the original order number of the invoice. However, I have managed to solve my own problem with a GROUP BY statement!
Others may be interested so, the code is this:
CREATE FUNCTION dbo.fnOrdersThatMakeInvoice(@InvNum int)
RETURNS nvarchar(200)
AS
BEGIN
DECLARE @OrderList nvarchar(200)
SET @OrderList = ''
SELECT @OrderList = @OrderList + (cast(T6.DocNum AS nvarchar(10)) + ' ')
FROM OINV AS T1 INNER JOIN
INV1 AS T2 ON T1.DocEntry = T2.DocEntry INNER JOIN
DLN1 AS T4 ON T2.BaseEntry = T4.DocEntry AND T2.BaseLine = T4.LineNum INNER JOIN
RDR1 AS T5 ON T4.BaseEntry = T5.DocEntry AND T4.BaseLine = T5.LineNum INNER JOIN
ORDR AS T6 ON T5.DocEntry = T6.DocEntry
WHERE T1.DocNum = @InvNum
GROUP BY T6.DocNum
RETURN @OrderList
END
and to call it use this:
Select T1.DocNum, dbo.fnOrdersThatMakeInvoice(T1.DocNum)
From OINV T1
Where T1.DocNum = 'your invoice number' -
How to get the count of all the entries in the DB?
I want to know the way getting the count of the entries in a DB. Not using cursor to visit all entries and record the count.
Message was edited by:
user633842Hello,
Yes, depending on the type of database you are using, the
following statistics from DB->stat, look like what you want.
For Hash databases:
hash_ndata;
The number of key/data pairs in the database. I
For Btree databases:
bt_ndata;
For the Btree Access Method, the number of key/data pairs
in the database.
For the Recno Access Method, the number of records in
the database.
For Queue databases:
qs_ndata;
The number of records in the database.
Additional details are at:
http://www.oracle.com/technology/documentation/berkeley-db/db/api_c/db_stat.html
Thanks,
Sandra -
Getting the count of DISTINCT of several columns
How can i get the count of DISTINCT of several columns?
SQL> select count(distinct ename) from emp;
COUNT(DISTINCTENAME)
14
SQL> select count(distinct ename, job) from emp;
select count(distinct ename, job) from emp
ERROR at line 1:
ORA-00909: invalid number of argumentsHello,
You should separate them out like this
select count(distinct ename), count(distinct job) from emp;Regards -
Need to get the count based on the column availability
You get a set of table names from a query, say
select table_name from all_tab_columns where column_name like 'DC_I’;
TABLE_NAME
A
B
C
Now, for the above set of tables (A,B and C), you need to get the count(*) for a single dc_i value (say XXX DC)
In simple words, its like framing the following 4 separate queries into one single one:
select table_name from all_tab_columns where column_name like 'DC_I’; (Based on this o/p, following 3 queries..)
select count(*) from A where dc_i=XXX;
select count(*) from B where dc_i=XXX;
select count(*) from C where dc_i=XXX;
ThanksAre you looking for this?
satyaki>
satyaki>select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
Elapsed: 00:00:01.04
satyaki>
satyaki>
satyaki>
satyaki>SELECT table_name,
2 DBMS_XMLGEN.getxmltype ('SELECT Count(*) c FROM ' || table_name||' where '||column_name|
|' = 10').EXTRACT ('//text()').getnumberval() tot_rows
3 FROM all_tab_cols
4 WHERE table_name in ('EMP', 'DEPT')
5 and column_name = 'DEPTNO';
TABLE_NAME TOT_ROWS
EMP 4
DEPT 1
Elapsed: 00:00:01.00
satyaki>
satyaki>
satyaki>
satyaki>select count(*) from emp where deptno = 10;
COUNT(*)
4
Elapsed: 00:00:00.00
satyaki>
satyaki>
satyaki>select count(*) from dept where deptno = 10;
COUNT(*)
1
Elapsed: 00:00:00.00
satyaki>Regards.
Satyaki De. -
How can i get the count vaule from GPIB?
I want to get the count waule from GPIB ,but I find that the vaule I get from GPIB now is the trace vaule ,
so I ask How can i get it.The count of what? What kind of instrument are you using?
-
Get the count of rows in a table control
Hi Experts,
How do I get the count of the rows in a table control during run time.
I am developing a BDC in which I have to check all entries in a table control.
My requirement is to get the total number of rows in a table control dynamically.
Thanks
KumarHi,
Use a variable when u r passing the records from the internal table to the screen fields
and display the same.
I think this idea may help u.
And pls explain me ur requirement clearly.
Refer to the following link this may help u.
http://sapabapnotes.blogspot.com/2008/03/working-with-ecatt-extended-computer.html
Reward if helpful.
Jagadish -
EXPECTED OUTPUT: here i need to get the count of 932 + 134 records = 1064
Hi Team,
could you pls suggest y iam getting wrong count.
select * from i_invoice_info_t_log_v invlog,invoice_header_t invhead
WHERE substr(invlog.tot_cust_no,1,7)=substr(invhead.acct_no,3,7)--------comparing tot_cust_no and acct_no for the other countries
and invhead.comp_code NOT in (2300) ----here when iam running this query i am getting the count of 932 records.
select * from i_invoice_info_t_log_v invlog,invoice_header_t invhead
where substr(invlog.tot_cust_no,3,7)=to_char(substr(invhead.acct_no,3,7))--------------comparing tot_cust_no and acct_no FOR THE COUNTRY 2300
and invhead.comp_code in (2300) ----Here when i am running this query i am getting the count of 134 records.
EXPECTED OUTPUT: here i need to get the count of 932 + 134 records = 1064 records.
I am using this query like below:
select * from i_invoice_info_t_log_v invlog,invoice_header_t invhead
where
(substr(invlog.tot_cust_no,1,7)=substr(invhead.acct_no,3,7)
and invhead.comp_code NOT in (2300)
OR
(substr(invlog.tot_cust_no,3,7)=to_char(substr(invhead.acct_no,3,7))
and invhead.comp_code in (2300)
)---------------------------------------------------here when i am running this query i am getting the count of 18381 records which is incorrect.
Expected output: i need to get the data for the comp_code which are not in 2300 and which are in 2300... bothselect *
from i_invoice_info_t_log_v invlog,
invoice_header_t invhead
WHERE (
substr(invlog.tot_cust_no,1,7) = substr(invhead.acct_no,3,7) --comparing tot_cust_no and acct_no for the other countries
and
invhead.comp_code NOT in (2300) --here when iam running this query i am getting the count of 932 records.
or (
substr(invlog.tot_cust_no,3,7) = to_char(substr(invhead.acct_no,3,7)) --comparing tot_cust_no and acct_no FOR THE COUNTRY 2300
and
invhead.comp_code in (2300) --Here when i am running this query i am getting the count of 134 records.
/SY. -
How to get the count of distinct customer in matrix?
Hi,
I want to get the count of distinct customer in matrix at the time of validation event.
Thanks Regards,Hi,
Please close the thread.by marking the correct answer
regards,
Prasad
Maybe you are looking for
-
Hi there, if you have time - please have a look at my stats pack below and let me know any comments you have. I have spotted the following, There is a huge amount of rolling back. 72%!!! I cant do anything about this as its the frontend application.
-
Do I need claim based auth, on the Consumer side for shared services?
I have One SharePoint 2013 Farm that holds Managed Metadata service. One SharePoint 2010 Farm with multiple web applications that want to consume the Managed metadata service from the 2013 Farm. None of the web applications in this environment is con
-
How do I install the text to speech voices in Captivate 7 trial
I am on day 2 of the 30-day trial. I downloaded the voice zip files, but can't seem to get them recognized/installed in the trial version. How do I do this? Thanks.
-
Hi, it's my understanding that using Time Machine is a no-no on an OS X server running OD. What are the current favorite schemes/software for backuping up a live OS X server? - Lewis
-
Premiere will freeze at loading screen and won't start. Running win7 64bit
Hi, I'm having a bit of a problem here. I just recently upgraded to CC because I had this issue with the CS 6 versions. The problem: Premiere Pro, inDesign, Illustrator and After Effects won't start. They will all get stuck at the loading screen. The