سؤال

لديّ جدول مع عدة أعمدة أود تجميعها ، لقد قمت بالفعل بتجميعها في الأيام المطلقة ، لكنني الآن أريد تجميعها نسبيًا. في طاولتي ، لدي طابع زمني ، وأود أن أتجمع في نطاق تاريخ بحيث يكون يوم Datestamp 0 ، وهو اليوم الذي يلي 1 وما إلى ذلك.

SELECT count(*) num_elements, sum(some_value) like_to_sum, reldate 
FROM the_large_table 
GROUP BY *** what goes here *** reldate. 

هل يمكنني تجميع العائد من وظيفة ما ، أو هل هناك طريقة أفضل للتعامل مع هذه المشكلة.

إذا كان بإمكاني تجميع النتيجة من وظيفة ، فهل هناك أي وظائف لهذا بالفعل في SQL ، أو كيف يمكن حل هذا؟

هل كانت مفيدة؟

المحلول

SELECT
    COUNT(*) AS num_elements,
    SUM(some_value) AS like_to_sum,
    TRUNC(SYSDATE) - TRUNC(your_date) AS rel_date
FROM the_large_table
GROUP BY TRUNC(SYSDATE) - TRUNC(your_date);
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top