Difficulty getting a count
Given a table that looks like this:
ALLOC_NUMBER ALLOC_PCT
88888 2.71428571
88888 0
87777 -2.7142857
85555 11.0429273
I want to group by alloc_number and determine if the sum of the alloc_pct in that group is > 0. If so, return a count of all alloc_numbers in the table that satisfy that condition, w/o duplicates.
If I write:
SELECT alloc_number
FROM alloc_transfer
GROUP BY alloc_number
HAVING SUM(alloc_pct) > 0;
It lists the alloc numbers that I want to count, but how do I get the count instead? Just adding COUNT to the Select clause will not work because that will give a count within the group, not for the whole table.
Thanks.
Edited by: Prohan on Feb 8, 2010 2:39 PM
Hi,
Prohan wrote:
As an aside, it looks like it doesn't even matter what the inner aggregate function is; i. e., I could have written:
SELECT COUNT (SUM(alloc_pct))
FROM alloc_transfer
GROUP BY alloc_number
HAVING SUM(alloc_pct) > 0;
The point is simply to bring back a result, any result, for the GROUP of alloc_numbers. Then the outer aggregate function simply counts the number of results that were returned by the inner one; the number of results being equivalent, of course, to the number of alloc_numbers, which is what I'm trying to count.Exactly!
The argument to COUNT must be an aggregate function. Any aggregate function will do, but be careful if it can return NULL.
For example, if you had a column called comment_txt that was almost always NULL, then you wouldn't want the inner aggregate function to be MAX (comment_txt); if every row in a group had NULL comment_txt, then MAX (comment_txt) would be NULL, and the group would not get counted, regardless of alloc_pct.
I chose COUNT for the inner aggregate function, because it never returns NULL. COUNT ignores NULLs, but if it encounters nothing except NULLs, it returns 0, not NULL.
SUM can return NULL, but it's okay to use "SUM (alloc_pct)" in this query, because, if it happened to be NULL, the row would be discarded by the HAVING clause.
Knowing that, can you think of a way to make the query even shorter?
Lose the HAVING clause.
If the SELECT clause is "SELECT COUNT (SUM(alloc_pct))", then the results will be the same if we omit "HAVING SUM(alloc_pct) > 0". The rows discarded by that HAVING clause won't be counted anyway.
Edited by: Frank Kulash on Feb 9, 2010 12:54 PM
Similar Messages
-
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?
-
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> -
How to get attendies count for a calendar list in sharepoint 2013?
Hi everybody,
I am using calendar list in SharePoint 2013 for my project.
Could please tell me how to get the count of attendees using SP Designer or OOTB calculated field.
Because I want to display the fields like
TOTAL SEATS =20
Attendees= Need count
Avail seats= total - Attendees count.
In that way I want to show information about availability seats for training session.
Regards,
DhayanandHi Dhaya
Please refer the links.Hope it helps :-)
http://social.msdn.microsoft.com/Forums/en-US/b8677dc5-3eb1-4bdc-92f2-f57201bfabb1/field-that-counts-attendees?forum=sharepointcustomizationprevious
http://sharepoint.stackexchange.com/questions/54253/use-count-related-column-value-as-int-in-a-sp-designer-workflow -
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. -
How to get Distinct Count of Products across two dimensions
Hi,
I have two dimensions, Item and Presentations. I need to get distinct count of products for IMD_Id + Merc_Pres_Id. IMD_Id is the lowest member in Item and Merc_Pres_Id is lowest in Presentation. My MDX query is given below but when I apply filters to
slice it, it does not work and does not give right count. It always gives the count for all.
/* Last Year Demand - Demand for 12 months back of selected months */
With
Member [Measures].[LYDemand]
as
Sum(
Generate(
EXISTING[All Date].[Fiscal Month Name].[Fiscal Month Name].Members,
{parallelperiod([All Date].[Fiscal Month Name].[Fiscal Month Name], 12
,[All Date].[Fiscal Month Name].CurrentMember)}
,[Measures].[Proj Demand]
/* Last to last Year Demand - Demand for 24 back of selected months */
Member [Measures].[LLYDemand]
as
Sum(
Generate(
EXISTING[All Date].[Fiscal Month Name].[Fiscal Month Name].Members,
{parallelperiod([All Date].[Fiscal Month Name].[Fiscal Month Name], 24
,[All Date].[Fiscal Month Name].CurrentMember)}
,[Measures].[Proj Demand]
/* Current Year Active Products */
Member [Measures].[CYCount]
as
CASE
WHEN
[Measures].[Proj Demand] > 0
THEN
DistinctCount(Existing(([All Items].[IMD Id].[IMD Id],[All Merchandise Presentations].[Merch
Pres Key].[Merch Pres Key])))
ELSE
NULL
END
/* Last year Active Products */
Member [Measures].[LYCount]
as
CASE
WHEN
[Measures].[LYDemand] > 0
THEN
DistinctCount(([All Items].[IMD Id].[IMD Id],[All Merchandise Presentations].[Merch Pres Key].[Merch Pres
Key], [All Items].[Style Name].CurrentMember, (StrToMember('[All Date].[Fiscal Month Name].&[201401]',CONSTRAINED).Lag(12)
: StrToMember('[All Date].[Fiscal Month Name].&[201411]',CONSTRAINED).Lag(12))))
ELSE
NULL
END
/* Last to last Year Active Products */
Member [Measures].[LLYCount]
as
CASE
WHEN
[Measures].[LLYDemand] > 0
THEN
DistinctCount(([All Items].[IMD Id].[IMD Id],[All Merchandise Presentations].[Merch Pres Key].[Merch Pres
Key], [All Items].[Style Name].CurrentMember, (StrToMember('[All Date].[Fiscal Month Name].&[201401]',CONSTRAINED).Lag(24)
: StrToMember('[All Date].[Fiscal Month Name].&[201411]',CONSTRAINED).Lag(24))))
ELSE NULL END
SELECT
[Measures].[CYCount], [Measures].[LYCount], [Measures].[LLYCount],
[Measures].[Proj Demand],[Measures].[LYDemand],[Measures].[LLYDemand]
ON
COLUMNS,
Non
Empty([All Items].[Demand Center Name].[Demand Center Name], [All Items].[Style Name].[Style Name])
ON ROWS
FROM
(SELECT (StrToSet('[All Items].[Style].[ALL]'))
ON COLUMNS
FROM
(SELECT (StrToSet('[All Items].[Demand Center].[ALL]'))
ON COLUMNS
FROM
(select (STRTOSET('[All Items].[Merch Group].&[MG-110]'))
on Columns
FROM
(SELECT (StrToSet('[All Merchandise Presentations].[Merch Pres Chnl Dkey].&[MPC-1]'))
ON COLUMNS
From
[FMI Forecasting]
WHERE {strToMember('[All Date].[Fiscal Month
Name].&[201401]',CONSTRAINED) :
StrToMember('[All Date].[Fiscal Month Name].&[201411]',CONSTRAINED)}
Requirements are as follows:
1. Distinct Count should not include products where Proj Demand is 0, when I am using Filter function to remove products with 0 demand, query is really slow and execution time goes up from 35- 40 secs to 8-9 Minutes.
2. When we apply filter (parameters) Distinct Count should be in the context of filters( which are mentioned in the select statement like Style, Demand Center and Merch Group). Currently after applying filters count does not change.
Thanks for help.Hi Skd78,
Thank you for your question.
I am trying to involve someone more familiar with this topic for a further look at this issue. Sometime delay might be expected from the job transferring. Your patience is greatly appreciated.
Thank you for your understanding and support.
Regards,
Charlie Liao
TechNet Community Support -
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. -
GETTING ROW COUNTS OF ALL TABLES AT A TIME
Is there any column in any Data dictionary table which gives the row counts for particular table..
My scenario is...i need to get row counts of some 100 tables in our database...
instead of doing select count(*) for each table....is there any way i can do it?
similary How to get column counts for each table..in database .For example
Employee table has 3 columns...empid,empname,deptno....i want count(empid),
count(empname),count(deptno) ...is there any easy way for finding all column counts of each table in data base? is it possible?Why does "select count(mgr) from emp" return null and not 13?Good question ;)
Seems that xml generation in principle can't handle »counting nulls«:
SQL> select xmltype(cursor(select null c from dual)) x from dual
X
<?xml version="1.0"?>
<ROWSET>
<ROW>
</ROW>
</ROWSET>
1 row selected.
SQL> select cursor(select count(null) c from dual) x from dual
Cur
0
1 row selected.
SQL> select xmltype(cursor(select count(null) c from dual)) x from dual
select xmltype(cursor(select count(null) c from dual)) x from dual
Error at line 1
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00229: input source is empty
Error at line 0
ORA-06512: at "SYS.XMLTYPE", line 0
ORA-06512: at line 1
but
SQL> select xmltype(cursor(select count(1) c from dual)) x from dual
X
<?xml version="1.0"?>
<ROWSET>
<ROW>
<C>1</C>
</ROW>
</ROWSET>
1 row selected.Looks like a bug to me ... -
Trying to get row counts for all tables at a time
Hi,
i am trying to get row counts in database at a time with below query but i am getting error:
its giving me ora-19202 error..please advise me
select
table_name,
to_number(
extractvalue(
xmltype(dbms_xmlgen.getxml('select count(*) c from '||table_name))
,'/ROWSET/ROW/C')
count
from all_tables;ALL_TABLES returns tables/views current user has access to. These tables/views are owned not just by current user. However your code
dbms_xmlgen.getxml('select count(*) c from '||table_name)does not specify who the owner is. You need to change it to:
dbms_xmlgen.getxml('select count(*) c from '||owner || '.' || table_name)However, it still will not work. Why? As I said, ALL_TABLES returns tables/views current user has access to. Any type of access, not just SELECT. So if current user is, for example, granted nothing but UPDATE on some table the above select will fail. You would have to filter ALL_TABLES through ALL_SYS_PRIVS, ALL_ROLE_PRIVS, ALL_TAB_PRIVS and PUBLIC to get list of tables current user can select from. For example, code below does it for tables/views owned by current user and tables/views current user is explicitly granted SELECT:
select
t.owner,
t.table_name,
to_number(
extractvalue(
xmltype(dbms_xmlgen.getxml('select count(*) c from '||t.owner || '.' || t.table_name))
,'/ROWSET/ROW/C')
count
from all_tables t,user_tab_privs p
where t.owner = p.owner
and t.table_name = p.table_name
and privilege = 'SELECT'
union all
select
user,
t.table_name,
to_number(
extractvalue(
xmltype(dbms_xmlgen.getxml('select count(*) c from '||t.table_name))
,'/ROWSET/ROW/C')
count
from user_tables t
OWNER TABLE_NAME COUNT
SCOTT DEPT 4
U1 QAQA 0
U1 TBL 0
U1 EMP 1
SQL> SY. -
Multi Mapping : How to get Message count after splitting
Hi all,
I am following below blog.
/people/narendra.jain/blog/2005/12/30/various-multi-mappings-and-optimizing-their-implementation-in-integration-processes-bpm-in-xi
Can any body please tell me how to get the count of messages generated after splitting in the message mapping.. I have created the message data type but not aware what is needed to be done.
Thanks and best regards,
Kulwant SinghMulti mappings r done in order to split the messages to the number of messages required by the user. So for 1:N mapping, the details about "N" is based on ur requirement. So its not like - when u split, any number of message could get created. The count would be dependent on u.
Regards,
Prateek -
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 -
I have an xslt that processes data which results in the following xml:
<filteredCollegeList>
<filteredCollegeList>
<Index indexKey="COLLEGE" text="College">
<IndexEntry entryKey="College of Agriculture & Life Sciences" processCollege="Yes" CollegeCode="AG"/>
<IndexEntry entryKey="College of Architecture, Art, and Planning" processCollege="Yes" CollegeCode="AR"/>
<IndexEntry entryKey="College of Arts & Sciences" processCollege="No" CollegeCode="AS"/>
<IndexEntry entryKey="College of Engineering" processCollege="Yes" CollegeCode="EN"/>
<IndexEntry entryKey="College of Human Ecology" processCollege="Yes" CollegeCode="HE"/>
<IndexEntry entryKey="College of Veterinary Medicine" processCollege="Yes" CollegeCode="VM"/>
<IndexEntry entryKey="Johnson Graduate School of Management" processCollege="Yes" CollegeCode="GM"/>
<IndexEntry entryKey="School of Industrial and Labor Relations" processCollege="Yes" CollegeCode="IL"/>
</Index>
</filteredCollegeList>
</filteredCollegeList>
I need to iterate through the IndexEntry nodes and do some processing. To do this I am using a for each and want to get the count of the IndexEntry nodes. I have tried many many iterations of the following and always get the result of 1. Does anyone have any help they can give me to make this happen. Below are a few samples of code I have tried with no success.
count(ora:getNodes('filteredCollegeList', 'IndexEntry', '/filteredCollegeList/filteredCollegeList/Index/IndexEntry'))
count(ora:getNodes('filteredCollegeList', 'filteredCollegeList', '/filteredCollegeList/filteredCollegeList/Index/IndexEntry'))
count(ora:getNodes('filteredCollegeList', 'IndexEntry', '/filteredCollegeList/filteredCollegeList/Index/*'))
Using countNodes which I did earlier caused selectionFailures so I found I needed to use getNodes.
Any help is appreciated.
Thanks AlHi Al,
Please remember to mark the answers accordingly... Helpful or correct. You're helping me and the forum community by doing that.
BPEL
assign the result to a string variableIn that case you have to bring it back to XML again, go to the following link and search for parseEscapedXML or parseXML.
http://docs.oracle.com/cd/E15523_01/integration.1111/e10224/bp_appx_functs.htm#autoId85
Anyway, I think it is a very good idea to create a XSD for this...
Cheers,
Vlad -
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. -
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 -
Need to get total count of a column in the given query
Hi,
I have the following query for which i need a total count of distinct concatenated_address. I am trying to use count(distinct adv.concatenated_address) in the below query but because of the group by it does not give me the expected result.
I am not reusing the same query, in my program again, to get the count as it would affect the performance. This query takes really long to execute and so is there a way to incorporate the count in this single query itself without having to use it twice.
SELECT DISTINCT (acv.customer_name||','||
acv.customer_number||','||
REPLACE(adv.concatenated_address, ',', ' ')||','||
adv.postal_code||','||
rct.interface_header_attribute1||','||
rct.interface_header_attribute6||','||
rct.creation_date||','||
rct.trx_date||','||
aps.due_date ||','||
SUM(aps.amount_due_original)||','||
SUM(aps.amount_due_remaining) ||','||
rct.printing_count ||','||
TO_DATE(rct.printing_last_printed)||','||
TO_DATE(rct.printing_original_date)||',') str
,acv.customer_id
,REPLACE(adv.concatenated_address, ',', ' ') address
FROM ar_customers_v acv
,ar_addresses_v adv
,hz_cust_site_uses hcsu
,ra_customer_trx rct
,ar_payment_schedules aps
WHERE adv.customer_id = acv.customer_id
AND hcsu.cust_acct_site_id = adv.address_id
AND hcsu.site_use_code = 'BILL_TO'
AND rct.bill_to_customer_id = acv.customer_id
AND rct.bill_to_site_use_id = hcsu.site_use_id
AND aps.customer_trx_id = rct.customer_trx_id
GROUP BY acv.customer_name
,acv.customer_number
,adv.concatenated_address
,adv.postal_code
,rct.interface_header_attribute1
,rct.interface_header_attribute6
,rct.creation_date
,rct.trx_date
,aps.due_date
,rct.printing_count
,TO_DATE(rct.printing_last_printed)
,TO_DATE(rct.printing_original_date)
,acv.customer_id
ORDER BY acv.customer_id
,REPLACE(adv.concatenated_address, ',', ' ')
Thank youtry this please
SELECT COUNT(str),customer_id
FROM
(SELECT DISTINCT (acv.customer_name||','||
acv.customer_number||','||
REPLACE(adv.concatenated_address, ',', ' ')||','||
adv.postal_code||','||
rct.interface_header_attribute1||','||
rct.interface_header_attribute6||','||
rct.creation_date||','||
RCT.TRX_DATE||','||
aps.due_date ||','||
SUM(aps.amount_due_original)||','||
SUM(aps.amount_due_remaining) ||','||
rct.printing_count ||','||
TO_DATE(rct.printing_last_printed)||','||
TO_DATE(rct.printing_original_date)||',') str
,acv.customer_id
,REPLACE(adv.concatenated_address, ',', ' ') address
FROM ar_customers_v acv
,ar_addresses_v adv
,hz_cust_site_uses hcsu
,ra_customer_trx rct
,ar_payment_schedules aps
WHERE adv.customer_id = acv.customer_id
AND hcsu.cust_acct_site_id = adv.address_id
AND hcsu.site_use_code = 'BILL_TO'
AND rct.bill_to_customer_id = acv.customer_id
AND rct.bill_to_site_use_id = hcsu.site_use_id
AND aps.customer_trx_id = rct.customer_trx_id
GROUP BY acv.customer_name
,acv.customer_number
,adv.concatenated_address
,adv.postal_code
,rct.interface_header_attribute1
,rct.interface_header_attribute6
,rct.creation_date
,rct.trx_date
,aps.due_date
,rct.printing_count
,TO_DATE(rct.printing_last_printed)
,TO_DATE(RCT.PRINTING_ORIGINAL_DATE)
,ACV.CUSTOMER_ID)
Maybe you are looking for
-
ugh......firefox has been wanting to install 17.01 or 17.04, can't remember which number, it bugs me and bugs me until i say o.k. i'll update my version. so i let it, it has to restart my computer,, then it says just a minute firefox is checking your
-
Windows Deployment Service. Network Profile Radio Buttons greyed out with R2
Hi All I have downloaded and setup Server 2008 R2 (not yet activated). I have added the following roles "DHCP Server", "DNS Server", "Active Directory Domain Services" and "Windows Deployment Services". I can PXE boot a test client machine and (using
-
Hello.I forgot the answer of my apple IDs security questions.Could you recover it for me?
-
How Do I Convert iTunes Songs to .wav files
Is there any way to convert iTunes downloaded music to .wav format so they can be used in Adobe Photoshop?
-
Ok �. This is driving me nuts. I�m relatively new to JSF (2 week profession ), and I may not have grasped the concept of Managed Beans. The problem is detailed below: Development Environment: WebSphere Studio 1.5.2 � This creates a backing bean for