2017-04-04 11 views
0

Ich habe drei Einträge in der Anwesenheitstabelle. Aber ich muss den letzten Eintrag der ID aus der Anwesenheitstabelle drucken.Ich berechnete Gesamtdauer in separaten Abfrage und Drucken Liste in separaten Abfrage .Anyone bitte helfen Sie mir, dies zu lösen.Wie bekomme ich den letzten Datensatz der Tabelle in sql

Abfrage Gesamtdauer zu drucken:

select SEC_TO_TIME(sum(case when a.endtime IS NULL 
         then time_to_sec(TIMEDIFF(NOW(),a.starttime)) 
         else time_to_sec(a.duration) 
         end) 
        ) as duration 
from attendance a 
left join staff s on a.staffid=s.id 
left join company c on a.companyid=c.companyid 
where DATE_FORMAT(a.createdon, '%Y/%m/%d') = DATE_FORMAT('2017-04-04', '%Y/%m/%d') and 
(a.employeecode ='A101' OR 'A101'='') and 
(a.companyid=0 OR 0=0) 
group by a.employeecode,a.companyid order by a.id desc 

Abfrage, um die Details zu drucken:

select a.id, 
     a.starttime, 
     a.endtime, 
     a.startlocation, 
     a.endlocation, 
     a.duration, 
     a.companyid, 
     a.employeecode, 
     a.staffid, 
     a.createdon, 
     a.createdby, 
     a.lastmodifiedon,  
     a.reason, 
     a.comments, 
     s.name as staffName, 
     c.company_name as companyName 
from attendance a 
left joinstaff s on a.staffid=s.id 
left join company c on a.companyid=c.companyid 
where DATE_FORMAT(a.created_on, '%Y/%m/%d') = DATE_FORMAT('2017-04-04', '%Y/%m/%d') and 
(a.employeecode ='A101' OR 'A101'='') and 
(a.company_id=0 OR 0=0) 
group by a.employeecode,a.companyid order by a.id desc 
+0

Mögliches Duplikat [Wie der letzten Datensatz einer Tabelle in SQL wählen?] (Http://stackoverflow.com/questions/5191503/how-to-select-the-last-record-of- a-Tabelle-in-sql) – mxr7350

Antwort

0

ich durch Setzen des endtime als null Ausgang bekam.

`select SEC_TO_TIME(sum(case when a.endtime IS NULL then time_to_sec(TIMEDIFF(NOW(),a.starttime)) else time_to_sec(a.duration) end)) 
from attendance a left join staff s on a.staffid=s.id 
left join company c on a.companyid=c.companyid 
where DATE_FORMAT(a.createdon, '%Y/%m/%d') = DATE_FORMAT('', '%Y/%m/%d') and 
(a.employeecode ='' OR ''='') and 
(a.companyid=0 OR 0=0) 
group by a.employeecode,a.companyid order by a.id desc` 
Verwandte Themen