Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle 11g - SQL कई पंक्तियों के बीच समय अंतर की गणना करने के लिए

टिप्पणियाँ... इस तालिका में आपके पास अनावश्यक डेटा (प्रथम नाम, अंतिम नाम) नहीं होना चाहिए, इसके लिए आपके पास एक अलग तालिका होनी चाहिए। ऐसा लगता है कि आपके घंटों को छोटा कर दिया गया है और गोल नहीं किया गया है? (पहली पंक्ति में गोलाई 1.26 देगी)।

with
     test_data ( seq, the_date, scanid, locatn, user_id, first_name, last_name ) as (
       select 103939758, to_date('05-NOV-16 14:36:22', 'dd-MON-yy hh24:mi:ss'), 194972, 'DOOR 19', 'AX9868', 'Mike', 'Derry'  from dual union all
       select 103939780, to_date('05-NOV-16 14:38:07', 'dd-MON-yy hh24:mi:ss'), 194972, 'DOOR 19', 'AX9868', 'Mike', 'Derry'  from dual union all
       select 103939792, to_date('05-NOV-16 14:39:24', 'dd-MON-yy hh24:mi:ss'), 194972, 'DOOR 19', 'AX9868', 'Mike', 'Derry'  from dual union all
       select 103940184, to_date('05-NOV-16 15:16:53', 'dd-MON-yy hh24:mi:ss'), 194972, 'DOOR 19', 'AX9868', 'Mike', 'Derry'  from dual union all
       select 103940185, to_date('05-NOV-16 15:51:41', 'dd-MON-yy hh24:mi:ss'), 194972, 'DOOR 19', 'AX9868', 'Mike', 'Derry'  from dual union all
       select 103940214, to_date('05-NOV-16 09:51:42', 'dd-MON-yy hh24:mi:ss'), 194993, 'DOOR 16', 'BC1910', 'Tony', 'McCann' from dual union all
       select 103940215, to_date('05-NOV-16 15:19:06', 'dd-MON-yy hh24:mi:ss'), 194993, 'DOOR 16', 'BC1910', 'Tony', 'McCann' from dual
     )
-- end of test data; solution (SQL query) begins below this line
select trunc(the_date) as the_date, user_id, first_name, last_name,
       trunc(24 * (max(the_date) - min(the_date)), 2) as total_hrs
from   test_data
group by trunc(the_date), user_id, first_name, last_name
;

THE_DATE  USER_ID FIRST_NAME LAST_NAME  TOTAL_HRS
--------- ------- ---------- --------- ----------
05-NOV-16 AX9868  Mike       Derry           1.25
05-NOV-16 BC1910  Tony       McCann          5.45


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ROWNUM=1 किन परिस्थितियों में किसी मौजूदा syle क्वेरी में प्रदर्शन में उल्लेखनीय वृद्धि करता है

  2. अप्रत्याशित क्वेरी सफलता

  3. एसक्यूएल प्लस में एक फ़ंक्शन निष्पादित करना

  4. ORA-00933:SQL कमांड ठीक से समाप्त नहीं हुआ

  5. डिफ़ॉल्ट के साथ अशक्त कॉलम नहीं जोड़ते समय Oracle बग