How to get top 3 record from aggregated column
Hello,
i have a simple query which return all student in class with total marks. now i want to select top 3 student whose score is maximum. simple top three position. how can i use rank function here? or any other way to do that
select st.sti_roll_no ,st.sti_name , sum(rd.rd_obt_marks) as mycol from rd_result_detail rd , rm_result_master rm, sti_student_info st
where rm.rm_result_id = rd.rd_result_id
and st.sti_roll_no= rd.rd_student_id
--and rd.rd_student_id = 'MBP10293'
and rm.rm_semester = 3
and rm_session = 2009
and rm_batch= 3
and rm.rm_exam_type ='FINAL TERM'
and rm.rm_class_id = 'MBA'
group by st.sti_name, st.sti_roll_no
order by st.sti_roll_no;
Not sure!!!!!!!!!!!!!
with t as
(select st.sti_roll_no ,st.sti_name , sum(rd.rd_obt_marks) as mycol from rd_result_detail rd , rm_result_master rm, sti_student_info st
where rm.rm_result_id = rd.rd_result_id
and st.sti_roll_no= rd.rd_student_id
--and rd.rd_student_id = 'MBP10293'
and rm.rm_semester = 3
and rm_session = 2009
and rm_batch= 3
and rm.rm_exam_type ='FINAL TERM'
and rm.rm_class_id = 'MBA'
group by st.sti_name, st.sti_roll_no
order by st.sti_roll_no)
select sti_roll_no ,sti_name,mycol,dense_rank()over(order by mycol desc) rnk
from t
--where rnk<=3
SQL> ed
Wrote file afiedt.buf
1 select e.* from (select empno,ename,sal,dense_rank()over(order by sal desc) rnk
2* from emp)e where rnk<=3
SQL> /
EMPNO ENAME SAL RNK
7839 KING 5000 1
7788 SCOTT 3000 2
7902 FORD 3000 2
7566 JONES 2975 3
Similar Messages
-
How to get multiple records from internal table through BDC
PERFORM DYNPRO USING:
'X' 'SAPMM61L' '0500',
' ' 'BDC_OKCODE' '=NEWC',
'X' 'SAPMM61L' '0500',
' ' 'BDC_CURSOR' 'PLPTU-PLWRK(01)',
' ' 'BDC_OKCODE' '=TAKE',
' ' 'PLPTU-PLWRK(01)' '2531'. (2531 is a plant)
This is the recording used to get plant via BDC of MS31.
Using this code i can get only single plant...
If i want to get multiple plants from an internal table,how i can change this code?
Since it is a recording i cant put this code in LOOP..ENDLOOP.
Suggest any method for doing this....
Awaiting for ur reply...Hi,
While recording also record the scroll down button.
The you can place different plant in the BDC using loop and endloop
Regards
Arun -
How to get Scavenged Records from Windows DNS Server uisng WMI API Call?
Hi Guys,
I'm facing one problem to find below things,
DNS Server have list of zones and each zones may have DNS Records. DNS Server provides an option set scavenging interval on server or in zone level.
Once records are old the server automatically apply scavenging process to remove that record.
I need to get DNS Records that are scavenged and timestamp using WMI Call?
sharavannaThe DNS log has this information. Just extract it from the log.
A scavenged record does not exisit when it is scavenged so it cannot be read from the DNS server. It has been deleted.
¯\_(ツ)_/¯ -
How to get missing records from one table
I have one table with many records in the table. Each time a record is entered the date the record was entered is also saved in the table.
I need a query that will find all the missing records in the table.
so if I have in my table:
ID Date Location
1 4/1/2015 bld1
2 4/2/2015 bld1
3 4/4/2015 bld1
I want to run a query like
Select Date, Location FROM [table] WHERE (Date Between '4/1/2015' and '4/4/2015') and (Location = bld1)
WHERE Date not in
(Select Date, Location FROM [table])
and the results would be:
4/3/2015 bld1
Thank youDo you have a table with all possible dates in it? You can do a left join from that to your above mentioned table where the right side of the join is null. If you don't have a table with all possible dates you could user a numbers table.
Below is one way to achieve what you want with a numbers table...
DECLARE @Table table (ID Int, DateField Date, Location VarChar(4))
DECLARE @RunDate datetime
SET @RunDate=GETDATE()
IF OBJECT_ID('dbo.Numbers') IS NOT NULL
DROP TABLE NUMBERS
SELECT TOP 10000 IDENTITY(int,1,1) AS Number
into Numbers
FROM sys.objects s1
CROSS JOIN sys.objects s2
ALTER TABLE Numbers ADD CONSTRAINT PK_Numbers PRIMARY KEY CLUSTERED (Number)
INSERT INTO @Table (ID, DateField, Location)
VALUES ('1','20150401','bld1')
,('1','20150402','bld1')
,('1','20150404','bld1');
WITH AllDates
as
SELECT DATEADD(dd,N.Number,D.StartDate) as Dates
FROM Numbers N
cross apply (SELECT CAST('20150101' as Date) as StartDate) as D
select *
from AllDates AD
left join @Table T on AD.Dates = T.DateField
where ad.Dates between '20150401' and '20150404'
AND T.ID IS NULL
LucasF -
How to get a value from a column inside a table
Hi,
I have got the following problem. I have got a table with some data inside. And a new column, which is not in the dataprovider. Now i search for an opportunity to go through the rows of the table and check the value of this column. I cant do this with the dataprovider or the rowset. My question is now how can i do this? The table object doesnt seem to have a corresponding method.
Thanks in advance for help
Acinonyxthis is some code you can use (based on Winston's and others' tips):
put this in you page bean:
private HashSet selectedRows = new HashSet();
public boolean isSelected() {
TableRowDataProvider trdp = (TableRowDataProvider)getBean("currentRow");
if (trdp == null) {
return false;
RowKey rowKey = trdp.getTableRow();
if (this.selectedRows.contains(rowKey.getRowId()))
return true;
else
return false;
public void setSelected(boolean b) {
TableRowDataProvider trdp = (TableRowDataProvider)getBean("currentRow");
RowKey rowKey = trdp.getTableRow();
if (checkbox1.isChecked()) {
this.selectedRows.add(rowKey.getRowId());
Object v = this.t_fotoDataProvider.getValue("fieldName", rowKey);
} else {
this.selectedRows.remove(rowKey.getRowId());
and then bind the "selected" property of the checkbox column to the "selected" property of the page bean.
Now, eveytime the page is submitted, you can do something useful, for example, in the setSelected() method (the row that starts with Object v = ... get's the value of some field corresponding to the checked row)
Mauro -
How to get highest salary from salary column in sharepoint list
Hello,
I have one custom list in which there is one salary column so I want to get the highest salary.Can we do this OOTB or by using custom code by adding webpart(using CAML query).
Thanks,http://stackoverflow.com/questions/516073/max-query-using-caml
<Query>
<OrderBy>
<FieldRef Name="particularcolumn" Ascending="FALSE" />
</OrderBy>
</Query>
http://stackoverflow.com/questions/8383616/caml-query-on-a-sharepoint-2010-list
http://sharepoint.stackexchange.com/questions/16955/how-to-select-max-field-in-caml-query
If this helped you resolve your issue, please mark it Answered -
How to Getting 10lack records from 2 tables and share into 10 tables
Hi Experts,
i have some special requirement about counting records before we we procees them in to intenal table.
here is the sample code .
**Needed to get users for ref users data
DATA: BEGIN OF gt_usr02 OCCURS 0,
bname LIKE usr02-bname,
END OF gt_usr02.
DATA:g_wa_usr02 LIKE LINE OF gt_usr02.
**Needed To get reference users data
DATA: BEGIN OF gt_usrefus OCCURS 0,
bname LIKE usrefus-bname,
refuser LIKE usrefus-refuser,
END OF gt_usrefus.
DATA:g_wa_usrefus LIKE LINE OF gt_usrefus.
SELECTION-SCREEN :BEGIN OF BLOCK blk1 WITH FRAME TITLE text-000.
SELECT-OPTIONS : s_user FOR usr02-bname.
SELECTION-SCREEN :END OF BLOCK blk1.
START-OF-SELECTION.
REFRESH:gt_usr02,gt_usrefus.
CLEAR:gt_usr02,gt_usrefus
CLEAR:g_wa_usr02,g_wa_usrefus ,
SELECT bname FROM usr02 INTO TABLE
gt_usr02 WHERE bname IN s_user. "say suppose "*" in s_user
1.Here i need to get no of records befor we are getting data from this select statement
basically i need to know the no of records (like count (sy-dbcnt) with same condition like below.
IF NOT gt_usr02 IS INITIAL.
SELECT bname refuser FROM usrefus INTO TABLE gt_usrefus
FOR ALL ENTRIES IN gt_usr02
WHERE bname = gt_usr02-bname AND refuser <> space.
ENDIF.
2.if i found no of records based on that i have to broke those records into diff tables
say i found 10,000 records ,that time i have spilt those 10,000 records into 10 tables(Similar strcture like table gt_usrefus ) with 1000 records each .
Can you help us.this requirement is for avoiding memory issues.Hi nagraju102,
- please try to post code formatted as code
- splitting a table of 10000 records into 10 tables of 1000 records will use not less memory at all, even a little bit more for the administrative overhead
- the numer of lines in an internal table can determinde used system function lines( itab )
- you can create an internal table of references and then create any number of internal tables,
data:
lt_tabref type table of ref to data.
field-symbols:
<table> type table,
<tabref> type ref to data.
DO 10 TIMES.
append initial line to lt_tabref assigning <tabref>.
create data <tabref> type table of usrefus.
assign <tabref>->* to <table>.
perform fill_table changing <table>."fill this table as you prefer
ENDDO.
Here you have 10 internal tables with USREFUS structure.
Regards,
Clemens -
How to get Multiple records from functions
Hi Everyone
Im new to this stuff. Im trying through JCO. As far as the single recordsets like data of customer or article are concerned i get it through an array.
But i wanted to retrieve
1- Whole tables like (all articles)
2- Selected articles. or Customer order details (articles in PO)
That means multiple records in one go.
Later on ill display it in JTables.
Like for the past three days i was googling around. Thought like this ones not for my stomach. Came across this Forum. Thought its worth posting a request.
Here is the code
public String[] KSearch(String Knr) throws Exception{
String[] Result=new String[11];
IFunctionTemplate ftemplate= Con.repository.getFunctionTemplate("SucheKUNDE");
if (ftemplate == null)
throw new Exception("Funktionstemplate nicht gefunden");
JCO.Function function = ftemplate.getFunction();
JCO.ParameterList input = function.getImportParameterList();
input.setValue(Knr,"FieldName");
JCO.Client client = JCO.getClient(Con.conPoolId);
client.execute(function);
JCO.ParameterList output = function.getExportParameterList();
Result[0]=output.getString("NAME");
Result[1]=output.getString("VORNAME");
Result[2]=output.getString("GDATE");
Result[3]=output.getString("TELEFON");
Result[4]=output.getString("MAIL");
Result[5]=output.getString("STRASSE");
Result[6]=output.getString("PLZ");
Result[7]=output.getString("ORT");
Result[8]=output.getString("KONTO");
Result[9]=output.getString("INSTITUT");
Result[10]=output.getString("BLZ");
JCO.releaseClient(client);
return Result;
now instead of a single record what if im expecting a number of records, like what if i need customer over 25. Which means more than one. I have to get in tabular format so that i can display it in JTables.
Hope it a bit illustrative.
Regards
Edited by: Aaron Maleck on Jan 5, 2008 7:35 AMpublic String[] KSearch(String Knr) throws Exception{
String[] Result=new String11;
IFunctionTemplate ftemplate= Con.repository.getFunctionTemplate("SucheKUNDE");
if (ftemplate == null)
throw new Exception("Funktionstemplate nicht gefunden");
JCO.Function function = ftemplate.getFunction();
JCO.ParameterList input = function.getImportParameterList();
input.setValue(Knr,"FieldName");
JCO.Client client = JCO.getClient(Con.conPoolId);
client.execute(function);
// Maybe here you should use a JCO.Table Class to get the //ExportParameters such as
JCO.Table output = function.getTableParameterList().getTable( "tabelname" );
// so you can use setRow() Function to get the information of the //relevant record. such as the 3. Costum
output.setRow(3);// Record Number
Result[0]=output.getString("NAME");
Result[1]=output.getString("VORNAME");
Result[2]=output.getString("GDATE");
Result[3]=output.getString("TELEFON");
Result[4]=output.getString("MAIL");
Result[5]=output.getString("STRASSE");
Result[6]=output.getString("PLZ");
Result[7]=output.getString("ORT");
Result[8]=output.getString("KONTO");
Result[9]=output.getString("INSTITUT");
Result10=output.getString("BLZ");
JCO.releaseClient(client);
return Result;
Iam not sure that works. But you can try it. and reply me to tell if it really works as i think.
Hope helps.
Amao -
How to get selected records from an ALV Grid in some other internal table
I am using a standard SAP program (RFKKMA02) in a Z program. Now i want to select some rows in ALV and after doing some modification, i want to store those records in some other internal table. I am not using OO concept.
Thanks in advance.u create first internal table of structur of fields that u want to copy and then move taht values to internal table
-
How to get all records from department wise having max salary?
i have a Employee table which consist
id | name | dept_id | Salary
1 A 1 20
2 B 1 25
3 C 2 30
4 D 2 25
Search max salary department wise with all details like below result.
id | name | dept_id | Salary
2 B 1 25
3 C 2 30Could you try this?
create table employee (id int, name varchar(10), dept_id int, salary int)
insert into employee values (1,'A',1,20)
insert into employee values (2,'B',1,25)
insert into employee values (3,'C',2,30)
insert into employee values (4,'D',2,25)
select e.* from employee e inner join
(select a.dept_id , max (a.salary) as 'max_salary' from employee a
group by a.dept_id ) b
on e.dept_id = b.dept_id
and e.salary = b.max_salary
order by e.dept_id
Regards, Ashwin Menon My Blog - http:\\sqllearnings.com -
How get all record from master and matching record from detail
hi master
sir i have master detail table
i have many record in master table but some record in detail table how i get
all record from master and matching record from detail
such as
select m.accid,m.title,d.dr,d.cr from master m, detail d where m.accid=d.accid
this query not work that get only related record i need all record from master
please give me idea
thanking you
aamirhi master
sir i have master detail table
i have many record in master table but some record in
detail table how i get
all record from master and matching record from
detail
such as
select m.accid,m.title,d.dr,d.cr from master m,
detail d where m.accid=d.accid
this query not work that get only related record i
need all record from master
please give me idea
thanking you
aamir
select m.accid,m.title,d.dr,d.cr
from master m, detail d
where m.accid=d.accid (+)The outer join operator (+) will get you all the details from master and any details from the detail if they exist, but the master details will still be got even if there are not details.
Note: Oracle 10g now supports ANSI standard outer joins as in:
select m.accid,m.title,d.dr,d.cr
from master m LEFT OUTER JOIN detail d on m.accid=d.accid -
Hi,
Can any one tell me how to get last record from any db(MSEG) table?
reward guaranteed
kakiHello,
Entries have no "natural order" within a database, apart from the primary key. If you need the "last entry" then you need to know what defines the last entry. If the last entry is the one with the highest year (MJAHR) the you could select it like this:
data: ls_mseg type mseg.
select * from mseg into ls_mseg.
where bwart = 321
and ebeln = 400000005
and mjahr = ( select max( mjahr ) from mseg
where bwart = 321
and ebeln = 400000005 ).
"process result in ls_mseg
endselect.
Note: This is a loop because there might be more than one matching entry.
best regards
Roland -
How to get top 10 records for each option in table prompt?
Hi,
I have created one report in which my requirement is to get top 10 highest salaries for each departments. I have created one table prompt which contains the names of all departments. On the salary column I have applied one filter i.e. TOP 10. Currently I am having 3 departments. I want to show the top 10 salaries for each department, but I am getting top 3 from first, 4 from second and 3 from third.They are calculating top 10 salaries based on all departments, not on individual department. How can I get top 10 salaries for each department?Hi,
Use TopN function in your column formula.
Ex: TOPN("Sales ,5 BY department)
Thanks,
Satya -
How to get latest record on top of the result list
Hi Gurus,
How to get latest record on top of the result list when you open the record.
saved data method in BT120H_CPL of OverView page and result list in ICCMP_INBOX.
Regards,
RaviHi
Try sort descending by on fileld "changed at ".
manipulate the sort depends on your requirement
Regards
Logu -
How can I select random records from one column
How can I random select 400 records from a column contains more than 500,000 records? And how long will it take in oracle? Thanks.
here is one option: (just change 5 to suit your needs...)
SQL>select * from (
2 select object_name
3 from all_objects
4 order by dbms_random.random
5 ) where rownum < 5
6 /
OBJECT_NAME
UTL_SYS_COMPRESS
GV_$LOG_HISTORY
GV_$LOGMNR_LOGS
WWV_FLOW_THEME_7
SQL>/
OBJECT_NAME
WWV_FLOW_UPGRADE_REPORT
WRI$_ADV_SQLT_STATISTICS_PK
V_$DATABASE
GV_$SERVICEMETRIC
SQL>/
OBJECT_NAME
WWV_FLOW_CREATE_FLOW_API
WRH$_SERVICE_WAIT_CLASS_BL
EXU8SNAPL
GV$SERVICEMETRIC_HISTORY
SQL> well, regarding how long will it take... it depends from lots of variables...
Cheers,
Andrea
Maybe you are looking for
-
When I uploaded pictures on Facebook they get darker. I've tried to download java again but it didnt work. I use Firefox and Safari but the problem is the same either way. I found this when I was searching around my Mac... http://i54.tinypic.com/2wfk
-
How can i set automatic change of user status(for WBS)?
Hi, Everytime when i create invoice for customer shipment using transaction code VF01, i need to change user status of WBS element manually in project to INTG in order to recognize the revenue. Is there any possiblity to change user status of WBS aut
-
Content Management/Item approval
Hello everybody, now after that I've read a lot in this forum about how to allow users to add items to a region and about applying approval mechanisms, I still don't understand the following: 1.) Is it true that the only way to enable users to add it
-
My photo library now a complete mess... help needed!
Oh woe is me! I decided to use a referenced library, and used A3 to move all my gathered photos into a Master Library on another drive. First thing that went wrong.... A3 can't tell the difference between JPG and jpg, so I ended up with piles of dupl
-
Adobe CS2 will not work in Leopard
Did you know *_Adobe CS2 will not work in Leopard?_* I found out the hard way that Leopard doesn't cost $129; It's $729, because CS2 will not work so you need to upgrade to CS3. This is straight from Adobe support (albeit in Manilla). I can find no d