الانتقال إلى المحتوى
View in the app

A better way to browse. Learn more.

مجموعة مستخدمي أوراكل العربية

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Help In This Query

Featured Replies

بتاريخ:

السلام عليكم

دلوقتى انا عندى ريكورز فى جدول وليكن
45000
0
12000
15000

عاوز ارميهم فى فيلد تانى ياخد القيمة الى بعدية بمعنى
45000 الى 45000
0 الى 45000
12000 الى 57000
15000 الى 72000

دى نعملها ازاى فى التقرير وممكن تتعمل بكويرى ولا اية

بتاريخ:

السلام عليكم
ممكن توضح سؤالك اكتر

بتاريخ:

السلام عليكم ورحمة الله وبركاته
أسأل الله العظيم رب العرش العظيم أن يوفقك إلى كل خير
صديقى
يمكن إستخدام
LAG and LEAD Analytic Functions

LAG
The LAG function is used to access data from a previous row
LEAD
The LEAD function is used to return data from the next row.
لإختيار القيم السابقه والقيمة التاليه

SELECT empno,
   ename,
   job,
   sal,
   LEAD(sal, 1, 0) OVER (ORDER BY sal) AS sal_next,
   LEAD(sal, 1, 0) OVER (ORDER BY sal) - sal AS sal_diff
FROM   emp;
 EMPNO ENAME	  JOB			  SAL   SAL_NEXT   SAL_DIFF
---------- ---------- --------- ---------- ---------- ----------
  7369 SMITH	  CLERK		    800	    950	    150
  7900 JAMES	  CLERK		    950	   1100	    150
  7876 ADAMS	  CLERK		   1100	   1250	    150
  7521 WARD	   SALESMAN	    1250	   1250		  0
  7654 MARTIN	 SALESMAN	    1250	   1300		 50
  7934 MILLER	 CLERK		   1300	   1500	    200
  7844 TURNER	 SALESMAN	    1500	   1600	    100
  7499 ALLEN	  SALESMAN	    1600	   2450	    850
  7782 CLARK	  MANAGER		 2450	   2850	    400
  7698 BLAKE	  MANAGER		 2850	   2975	    125
  7566 JONES	  MANAGER		 2975	   3000		 25
  7788 SCOTT	  ANALYST		 3000	   3000		  0
  7902 FORD	   ANALYST		 3000	   5000	   2000
  7839 KING	   PRESIDENT	   5000		  0	  -5000


برجاء قراءة المووضع كامل مع الشرح من هذ اللينك
http://www.oracle-base.com/articles/misc/LagLeadAnalyticFunctions.php

بتاريخ:
  • كاتب الموضوع

السلام عليكم ورحمة الله وبركاته
أسأل الله العظيم رب العرش العظيم أن يوفقك إلى كل خير
صديقى
يمكن إستخدام
LAG and LEAD Analytic Functions

LAG
The LAG function is used to access data from a previous row
LEAD
The LEAD function is used to return data from the next row.
لإختيار القيم السابقه والقيمة التاليه
SELECT empno,
   ename,
   job,
   sal,
   LEAD(sal, 1, 0) OVER (ORDER BY sal) AS sal_next,
   LEAD(sal, 1, 0) OVER (ORDER BY sal) - sal AS sal_diff
FROM   emp;
 EMPNO ENAME	  JOB			  SAL   SAL_NEXT   SAL_DIFF
---------- ---------- --------- ---------- ---------- ----------
  7369 SMITH	  CLERK			800		950		150
  7900 JAMES	  CLERK			950	   1100		150
  7876 ADAMS	  CLERK		   1100	   1250		150
  7521 WARD	   SALESMAN		1250	   1250		  0
  7654 MARTIN	 SALESMAN		1250	   1300		 50
  7934 MILLER	 CLERK		   1300	   1500		200
  7844 TURNER	 SALESMAN		1500	   1600		100
  7499 ALLEN	  SALESMAN		1600	   2450		850
  7782 CLARK	  MANAGER		 2450	   2850		400
  7698 BLAKE	  MANAGER		 2850	   2975		125
  7566 JONES	  MANAGER		 2975	   3000		 25
  7788 SCOTT	  ANALYST		 3000	   3000		  0
  7902 FORD	   ANALYST		 3000	   5000	   2000
  7839 KING	   PRESIDENT	   5000		  0	  -5000


برجاء قراءة المووضع كامل مع الشرح من هذ اللينك
http://www.oracle-ba...icFunctions.php

بتاريخ:
  • كاتب الموضوع

السلام عليكم شكرا ليكم على اهتمامكم وانا عارف الدالتين دول بس دة مش الى انا عايزة
انا عايز
مثلا


1000 والريكورد الى بعيدة مثلا ب 1200 يبقى الريكورد التانى ب 2200

زى

Previous Record +Current Record=(that i need)

بتاريخ:

السلام عليكم شكرا ليكم على اهتمامكم وانا عارف الدالتين دول بس دة مش الى انا عايزة
انا عايز
مثلا


1000 والريكورد الى بعيدة مثلا ب 1200 يبقى الريكورد التانى ب 2200

زى
SELECT empno,
   ename,
   job,
   sal,
   LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_prev,
   sal - LAG(sal, 1, 0) OVER (ORDER BY sal) AS sal_diff
FROM   emp;
 EMPNO ENAME	  JOB			  SAL   SAL_PREV   SAL_DIFF
---------- ---------- --------- ---------- ---------- ----------
  7369 SMITH	  CLERK		    800		  0	    800
  7900 JAMES	  CLERK		    950	    800	    150
  7876 ADAMS	  CLERK		   1100	    950	    150
  7521 WARD	   SALESMAN	    1250	   1100	    150
  7654 MARTIN	 SALESMAN	    1250	   1250		  0
  7934 MILLER	 CLERK		   1300	   1250		 50
  7844 TURNER	 SALESMAN	    1500	   1300	    200
  7499 ALLEN	  SALESMAN	    1600	   1500	    100
  7782 CLARK	  MANAGER		 2450	   1600	    850
  7698 BLAKE	  MANAGER		 2850	   2450	    400
  7566 JONES	  MANAGER		 2975	   2850	    125
  7788 SCOTT	  ANALYST		 3000	   2975		 25
  7902 FORD	   ANALYST		 3000	   3000		  0
  7839 KING	   PRESIDENT	   5000	   3000	   2000



المثال ده بيجيب الفرق بين القيمه دى الوقتى واللى قبلها أنت ممكن تشيل السالب وتحط موجب
أو قد أكون مفهمتش السؤال كويس
Previous Record +Current Record=(that i need)

بتاريخ:
  • كاتب الموضوع

السلام عليكم

الناتج بتاع الدالة الى انت اديتهالى

بس المطلوب مش اتعمل الى فى اول وتانى صف

مثلا عاوز انا بقى القيمة الى هيا 1,751,883.14 ينجمع عليها106,051.70 = xxxxxx

و xxxxxxx يتجمع عليها مبلغ وليكن 10000 ويساااوى yyyyyyy

و الyyyyy يتجمع عليها مبلغ وهكذا

تم تعديل بواسطة samooo14

بتاريخ:

السلام عليكم
اولا شكرا على اهتمامك بالموضوع
RETENTION WITHHELD SAL_DIFF 1,645,831.44 1,645,833.44 106,051.70 1,751,883.14 29,768.31 135,820.01 14,778.35 44,546.66 43,364.25 58,142.60 7,638.96 51,003.21 10,800.28 18,439.24 0.00 NULL

دة الناتج بتاع الدالة الى انت اديتهالى

بس المطلوب مش اتعمل الى فى اول وتانى صف

مثلا عاوز انا بقى القيمة الى هيا 1,751,883.14 ينجمع عليها106,051.70 =وتترمى مكان
135,820.01 وهكذا

لو بعت التابل و مثال من الداتا وحطه عندى فى الداتا بيز ممكن اعملك الكويرى (لو عرفت)
بتاريخ:
  • كاتب الموضوع

مثلا عاوز انا بقى القيمة الى هيا 1,751,883.14 ينجمع عليها106,051.70 = xxxxxx

و xxxxxxx يتجمع عليها مبلغ وليكن 10000 ويساااوى yyyyyyy

و الyyyyy يتجمع عليها مبلغ وهكذا

بتاريخ:
  • كاتب الموضوع

الحمد لله لقيت الحل وهوة استخدام

OVER(ORDER BY Column ROWS UNBOUNDED PRECEDING

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية

Account

Navigation

البحث

إعداد إشعارات المتصفح الفورية

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.