Getting the first and the last record with analytics
I have a table called horario (time) which has the following columns: card_number,
card_holder_name, card_reader_location and time. I came up with the following sql
statement that gives me the current row and the next row so I can subtract one from
the other and see how much time elapsed between them. As you can see below:
SELECT *
FROM (SELECT card_number,
reader card_reader_location,
hora TIME,
lead(reader) over(PARTITION BY card_number ORDER BY hora) next_card_reader_location,
lead(hora) over(PARTITION BY card_number ORDER BY hora) next_time_action
FROM horario
WHERE card_number = '26965'
AND to_char(hora, 'DD-MON-YYYY') =
to_date('03-JAN-2006', 'DD-MON-YYYY')
GROUP BY card_number,
reader,
hora)
CARD_NUMBER CARD_READER_LOCATION TIME NEXT_CARD_READER_LOCATION NEXT_TIME_ACTION
26965 BASEMENT DOOR READER IN 03-JAN-2006 07:26:00 BASEMENT DOOR READER OUT 03-JAN-2006 14:44:00
26965 BASEMENT DOOR READER OUT 03-JAN-2006 14:44:00 BASEMENT DOOR READER IN 03-JAN-2006 14:45:00
26965 BASEMENT DOOR READER IN 03-JAN-2006 14:45:00 BASEMENT DOOR READER OUT 03-JAN-2006 16:07:00
26965 BASEMENT DOOR READER OUT 03-JAN-2006 16:07:00 Now I need to come up with a sql query that will subtract the time field of the very
last row (16:07:00) and the time field of the very first row (07:26:00) so I know how
many hours were worked on that specific date. Can I do that using analytics ? If so,
how ?
thanks !
gleisson henrique
In a way you can get those min/max dates in the same row and subract them in the outer select just like this
SELECT *
FROM (SELECT card_number,
reader card_reader_location,
hora TIME,
lead(reader) over(PARTITION BY card_number ORDER BY hora) next_card_reader_location,
lead(hora) over(PARTITION BY card_number ORDER BY hora) next_time_action
max(hora) over(PARTITION BY card_number) max_hora,
min(hora) over(PARTITION BY card_number) min_hora
FROM horario
WHERE card_number = '26965'
AND to_char(hora, 'DD-MON-YYYY') =
to_date('03-JAN-2006', 'DD-MON-YYYY')
GROUP BY card_number,
reader,
hora)
Similar Messages
-
How to get the first and the last record of every month within a time range in sql
I am trying to get the first record and the last record of each and every month in a given date range using sql. I have a sample code
where i have just selected everything within the date range now i have to extract the first and the last records of each and every month.
SELECT PurOrderNum,
OrderDate
FROM Purchasing.PurOrder
WHERE OrderDate >= '2013-02-28'
AND OrderDate <= '2014-12-29'SELECT PurOrderNum,
OrderDate
FROM
SELECT PurOrderNum,
OrderDate,
MAX(OrderDate) OVER (PARTITION BY DATEDIFF(mm,0,OrderDate)) AS MaxDate,
MIN(OrderDate) OVER (PARTITION BY DATEDIFF(mm,0,OrderDate)) AS MinDate
FROM Purchasing.PurOrder
WHERE OrderDate >= '2013-02-28'
AND OrderDate <= '2014-12-29'
)t
WHERE OrderDate = MaxDate
OR OrderDate = MinDate
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
Get the first and the last date of a week
Hi all
I need to get the first and the last date of a specific week.
I need a function that returns two date passing it just one date.
The function has to calculate the first and the last date of the week of the argument date.
hope to be clear
regardsgoiters,
I need to get the first and the last date of a specific week.Yup, and what's the first day of the week in your part of the world, is it Sunday or Monday?
I need a function that returns two date passing it just one date.No you don't, just add 7 days to the start of the week.
hope to be clearWell, you can hope.
Keith.
Message was edited by: corlettk - now I hope to clear ;-) -
How to view the first and the last frame of a clip or a selected range in the time line?
How to view the first and the last frame of a clip directly or in a selected range in the time line ? Up arrow and down arrow keys changes only between the first frame of the consecutive clips. Even ; and ' does the same. I mean what is the shortcut keys for first to last and last to first frame of a clip? Help please.
SELECT PurOrderNum,
OrderDate
FROM
SELECT PurOrderNum,
OrderDate,
MAX(OrderDate) OVER (PARTITION BY DATEDIFF(mm,0,OrderDate)) AS MaxDate,
MIN(OrderDate) OVER (PARTITION BY DATEDIFF(mm,0,OrderDate)) AS MinDate
FROM Purchasing.PurOrder
WHERE OrderDate >= '2013-02-28'
AND OrderDate <= '2014-12-29'
)t
WHERE OrderDate = MaxDate
OR OrderDate = MinDate
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
My iPhone rejects my passcode when I enter it the first and the second time
My iPhone rejects my passcode when I enter it the first and the second time. Why?
Is it random? Does it occasionally accept the passcode, or does the passcode seem to be changed?
See Kappy's list on how to deal with passcode problems:
Re: Passcode being rejected https://discussions.apple.com/message/23376400#23376400 -
How can I distinguish between the first and the rest in Smartforms??
I have made an Invoice in Smartform. I have to take three copies of that. In the first copy it will be printed "ORGINAL INVOICE" and in the next copies it will print "Duplicate copy". How can I distinguish between the first and the rest in Smartforms??
Regards,
Subhasish>
Subhasish Ganguly wrote:
> I have made an Invoice in Smartform. I have to take three copies of that. In the first copy it will be printed "ORGINAL INVOICE" and in the next copies it will print "Duplicate copy". How can I distinguish between the first and the rest in Smartforms??
Hello Vamshi,
As per the OP's requirement he has to print 3 copies of the invoice. Which according to my understanding should be printed at the same time ? May be i am wrong in interpreting this.
You must be knowing you can control the print params of the SmartForms in CONTROL_PARAMETERS where you set the NO_DIALOG & in the OUTPUT_OPTIONS pass the number of copies.
I think the solution you have proposed the "Original Copy" will be printed only once. (Correct me if i am wrong)
Every time the user prints the invoice again he will be getting a "Duplicate Copy". If this is what the OP wants the logic is perfect
Cheers,
SUhas -
When was the first and last login of a db user
Hi @ all,
I'm trying to find out the first and the last login of a special db user at an Oracle 10g (10.2.0.1.0) Instance.
How can I do that?
Thanks and best regards,
DavidWhat Nicholas said is true, but depending what you are looking for, you may also search/review audit files created by everytime a sysdba or sysoper session was created by looking in your audit directory.
From within sqlplus, "show parameter audit"
Then, go to that directory and you will see hundreds/thousands of audit files for each time a sysdba or sysoper session was started.
Within those logs are entries such as:
Tue Mar 12 16:00:00 2013 -04:00
LENGTH : '155'
ACTION :[7] 'CONNECT'
DATABASE USER:[1] '/'
PRIVILEGE :[6] 'SYSDBA' <=========== sysdba or sysoper (I believe this is all that is captured.)
CLIENT USER:[6] 'oracle' <=========== shows the OS user that connected to the database
CLIENT TERMINAL:[0] ''
STATUS:[1] '0'
DBID:[10] '1321231341' -
How to find FIRST and the LAST date of the month.
Hello,
I want to find the first and the last date of the current month through query. How is it possible please help.
For example if the current month is july. The first date should be 01-JUL-2006 and the last date would be 31-JUL-2006.
Please help me.
Regards,
Imran BaigLike this?
SQL> select trunc(sysdate,'MM') "First_Day",
2 last_day(sysdate) "Last_Day" from dual;
First_Day Last_Day
01-JUL-06 31-JUL-06
SQL> select trunc(to_date('10-FEB-04'),'MM' ) "First_Day",
2 last_day(to_date('10-FEB-04')) "Last_Day" from dual;
First_Day Last_Day
01-FEB-04 29-FEB-04 -
How to get the first and last record
Hai All
I have table called T1 and there are more than 8 lakhs records and i have a column called Timestamp so i need to get the first record value and time stampvalue and last record and time stamp value so that i can conclude that For Example
form 13 june to 15 june data are here
Kind Regards
SrikkanthMSomething like this can also indicate the first and last rows as you query...
SQL> select empno, ename, hiredate
2 ,case row_number() over (order by hiredate)
3 when 1 then 'First Row'
4 when count(*) over () then 'Last Row'
5 end as flag
6 from emp;
EMPNO ENAME HIREDATE FLAG
7369 SMITH 17/12/1980 00:00:00 First Row
7499 ALLEN 20/02/1981 00:00:00
7521 WARD 22/02/1981 00:00:00
7566 JONES 02/04/1981 00:00:00
7698 BLAKE 01/05/1981 00:00:00
7782 CLARK 09/06/1981 00:00:00
7844 TURNER 08/09/1981 00:00:00
7654 MARTIN 28/09/1981 00:00:00
7839 KING 17/11/1981 00:00:00
7900 JAMES 03/12/1981 00:00:00
7902 FORD 03/12/1981 00:00:00
7934 MILLER 23/01/1982 00:00:00
7788 SCOTT 19/04/1987 00:00:00
7876 ADAMS 23/05/1987 00:00:00 Last Row
14 rows selected.
SQL> -
I've bought the season 1 of "The Wire" (7episodes), when I synchronize with my PC, it only charge the first and last episodes and not the 5 episodes in between ??
Hello spinozette,
I am sure you are eager to download and watch Season 1 of The Wire. I found a couple of resources that might help with downloading this purchase.
First, I recommend checking to see if the download was interrupted. You can use the steps in this article:
iTunes: How to resume interrupted iTunes Store downloads
http://support.apple.com/kb/HT1725
If the episodes do not download after following the steps in that article, I recommend trying to download the episodes from the list of past purchases. You can find the steps to do this in the section titled "Apps, Books, Music, Movies, or TV shows on a computer" in the following article:
Downloading past purchases from the App Store, iBookstore, and iTunes Store
http://support.apple.com/kb/HT2519
If you are still not able to download the rest of the season, I recommend reporting this issue to the iTunes Store:
How to report an issue with your iTunes Store, App Store, Mac App Store, or iBooks Store purchase
http://support.apple.com/kb/HT1933
Thank you for using Apple Support Communities.
Best,
Sheila M. -
How can I display the first and last name using a paramater as employee ID?
Hi SAP,
I have a parameter that is called {? Employee ID}. What I want to do is display the first and last name based on the employee ID value entered in {? Employee ID} in the page header of the report. Right now, when I put the following formula in the page header only some pages get the right result while other pages dont....
if table.employeeid = {? Employee ID} then
table.firstname" "table.lastname
It appears as though if the first record in the details section on the beginning of each page happens to be the employee under {? Employee ID} then it prints it correctly, if it isn't I get a null value in the page header.
Anyone have any ideas?
ZHi Try this,
Whileprintingrecords;
if ={?EmpID} then
Also check the option "Default values for null" in the formula editor.
Regards,
Vinay -
I need to build a linear list of the string positions of the
first and last character of each word in a string. For example if I
have the string myPet = “DOG CAT FISH” then myList =
[[1,3],[5,7],[9,12]]
myPet.word[x] will let me access the individual words but
I’m not sure how to get the char position of the beginning
and end of each. Please help, it’s Friday and my brain has
left for the weekend.Touche, Sean.
"Sean Wilson" <[email protected]> wrote in
message
news:fqa8ap$bga$[email protected]..
> Hi Craig,
>
> Your's fails if any word is repeated. Try it with "DOG
CAT FISH DOG"
>
> This one seems to work, although there are probably more
efficient ways to
> go about it. A regular expression and the PRegEx xtra
would certainly be
> quicker, especially as the string gets longer
>
> on mGetWordBoundaries aString
> -- basic error check
> if stringP(aString) = 0 then return []
> if length(aString) = 0 then return []
>
> lWhitespace = [SPACE, TAB, RETURN, numToChar(10)]
> tStart = 1
> tChar = aString.char[tStart]
> repeat while lWhitespace.getPos(tChar)
> tStart = tStart + 1
> tChar = aString.char[tStart]
> end repeat
>
> lPositions = []
> repeat with w = 1 to aString.word.count
> tEnd = tStart + aString.word[w].char.count - 1
> lPositions.append([tStart, tEnd])
> tStart = tEnd + 1
> tChar = aString.char[tStart]
> repeat while lWhitespace.getPos(tChar)
> tStart = tStart + 1
> tChar = aString.char[tStart]
> end repeat
> end repeat
> return lPositions
> end -
I have an attachment to my iPod Classic that allows me to record. However, when the hard drive died on my last computer I lost the software that allowed me to transfer files for burning CD's or email, etc. I don't remember have an attachment to my iPod Classic that allows me to record. However, when the hard drive died on my last computer I lost the software that allowed me to transfer files for burning CD's or email, etc. I don't remember where I got the software and the package with the instructions is long gone. Anyone know where to get it?
What is the make and model of this recorder? Do you have that information available?
You can still use iTunes to transfer and manage your recorded audio.
iPod: Recording voice memos
B-rock -
SQL Selecting the first and last entries for each day
Hello SQL experts,
I hope you can help with this.. I have a table (could have 1M or more rows in it) see structure below. I am looking to get the first and last date/times for each employee for each day. I also need the location GUID for the first read.
EmployeeGUID (uniqueidentifier datatype)
LocationGUID (uniqueidentifier datatype)
DateTime (DateTime datatype)
12345678-0000-0000-0000-000000000000
11111111-0000-0000-0000-000000000000
04/12/2014 07:00:01
12345678-0000-0000-0000-000000000000
22222222-0000-0000-0000-000000000000
04/12/2014 10:40:05
12345678-0000-0000-0000-000000000000
22222222-0000-0000-0000-000000000000
04/12/2014 17:04:02
44422222-0000-0000-0000-000000000000
22222222-0000-0000-0000-000000000000
04/14/2014 08:00:00
44422222-0000-0000-0000-000000000000
22222222-0000-0000-0000-000000000000
04/14/2014 14:00:03
44422222-0000-0000-0000-000000000000
33333333-0000-0000-0000-000000000000
04/15/2014 07:49:00
44422222-0000-0000-0000-000000000000
11111111-0000-0000-0000-000000000000
04/15/2014 09:00:01
This would be the ideal output (I can do without the TotalTimeInHours):
EmployeeGUID (uniqueidentifier datatype)
LocationGUID (uniqueidentifier datatype)
FirstRead (DateTime datatype)
LastRead (DateTime datatype)
TotalTimeInHours
12345678-0000-0000-0000-000000000000
11111111-0000-0000-0000-000000000000
04/12/2014 07:00:01
04/12/2014 17:04:02
Total in hours between the first and last read.
44422222-0000-0000-0000-000000000000
22222222-0000-0000-0000-000000000000
04/14/2014 08:00:00
04/14/2014 14:00:03
44422222-0000-0000-0000-000000000000
33333333-0000-0000-0000-000000000000
04/15/2014 07:49:00
04/15/2014 09:00:01
I would post what I have tried so far but I have been trying many different types of queries over the last few days. In short I need the employees first and last reads for each date. They could have many entries per date or just 1. I am certain that this
is a trivial thing for a SQL expert but not trivial for me :).
Thank you in advance!Thank you!
This is almost what I need. The LocationGUID has to be included in the output. When I include it, I have to put it in the Group By clause. When I do that the reads are based on the LocationGUID (see below).
** I added a few more data entries and included the LocationGUID in the output.
***** SQL ***********
CREATE TABLE test( EmployeeGUID uniqueidentifier, LocationGUID uniqueidentifier, DateTimeCol DateTime )Insert into test values
('12345678-0000-0000-0000-000000000000','11111111-0000-0000-0000-000000000000','04/12/2014 07:00:01')
,('12345678-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/12/2014 10:40:05')
,('12345678-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/12/2014 17:04:02')
,('12345678-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/12/2014 19:00:00')
,('44422222-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/14/2014 08:00:00')
,('44422222-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/14/2014 14:04:03')
,('44422222-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/15/2014 07:49:00')
,('44422222-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/15/2014 09:00:01')
,('12345678-0000-0000-0000-000000000000','11111111-0000-0000-0000-000000000000','04/13/2014 10:40:05')
,('12345678-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/13/2014 17:04:02')
,('12345678-0000-0000-0000-000000000000','22222222-0000-0000-0000-000000000000','04/13/2014 19:00:00')
;with mycte as (
SELECT *, row_number() OVER(partition by EmployeeGUID, Cast(DateTimeCol as date) Order by DateTimeCol) rnASC,
row_number() OVER (partition by EmployeeGUID, Cast(DateTimeCol as date) Order by DateTimeCol DESC) rnDESC
FROM test)
Select EmployeeGUID ,Cast(DateTimeCol as date) dt,LocationGUID,
Max(Case when rnASC=1 Then DateTimeCol End) minDateTimeCol
,Max(Case when rnDESC=1 Then DateTimeCol End ) maxDateTimeCol
,Datediff(minute, Max(Case when rnASC=1 Then DateTimeCol End) ,Max(Case when rnDESC=1 Then DateTimeCol End ) )/60.0 TotalTimeInHours
from mycte
Group by EmployeeGUID, LocationGUID,Cast(DateTimeCol as date)
Order by dt,EmployeeGUID
drop TABLE test
**** OUTPUT **********
EmployeeGUID
dt
LocationGUID
minDateTimeCol
maxDateTimeCol
TotalTimeInHours
12345678-0000-0000-0000-000000000000
2014-04-12
11111111-0000-0000-0000-000000000000
2014-04-12 07:00:01.000
NULL
NULL
12345678-0000-0000-0000-000000000000
2014-04-12
22222222-0000-0000-0000-000000000000
NULL
2014-04-12 19:00:00.000
NULL
12345678-0000-0000-0000-000000000000
2014-04-13
11111111-0000-0000-0000-000000000000
2014-04-13 10:40:05.000
NULL
NULL
12345678-0000-0000-0000-000000000000
2014-04-13
22222222-0000-0000-0000-000000000000
NULL
2014-04-13 19:00:00.000
NULL
44422222-0000-0000-0000-000000000000
2014-04-14
22222222-0000-0000-0000-000000000000
2014-04-14 08:00:00.000
2014-04-14 14:04:03.000
6.066666 -
Please, help!
After upgrading to Yosemite, my dock has disappeared, along with the dashboard and the wallpaper! Can anyone help? I'm using a MacBook Pro, retina, bought it last year.
ThanksHave you been trying to download from the app store? Did you get a message?
As a suggestion, you might go to an Apple store (genius bar appointment) for help. As far as I know, there should be no charge.
Barry
Maybe you are looking for
-
Problem printing to a PC based HP from MAC OSX 10.3.9 w/ router
I have the following Belkin Router; F5D7230-4. The router is hardwired to the PC and has a F380 (F300 series) HP printer USB hardwired. I also have a iMAC G5 OS x 10.3.9 which is online, connected to the router via a ethernet cable. I have no wireles
-
Unable to Move Parts of a Table that are LOB's
Hello - I'm running Oracle 8.1.7.4. I moved a table from one tablespace to another by issuing the following command: alter tableA move tablespace SomeTS; I noticed that the table now resides in SomeTS, but the LOB data types still reside in the OldTS
-
We are using PD in support of our EA Program. Current efforts have been focused on getting started from a zero base and working on ensuring we have a consistent baseline for the 100(ish) business systems that this effort encompasses. This has largely
-
Adding a field to Shopping card item level.
Hi Experts, I want to add field in the shoppping card item level, i have refer OSS note 458591, as per that i have to create one structure with the name Ci_bbp_item_sc and add the required field in that, can anyone tell me that by simplay creating st
-
XPath - limited logical operators?
Hi out there! Currently I am experiencing an XPath problem, evaluating an XML file with it. Imagine I got an XML file like this: <xml? version="1.0" encoding="UTF-8"?> <OverallSet> <Set1> <group_of_fields> <requesting_component_command>WUZ</requestin