الانتقال إلى المحتوى
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.

اعلى خمس رواتب في الشركة

Featured Replies

بتاريخ:

هذا السؤال جائني في اخر مقابلة في شركة من اجل التوظيف... ارجوا الفائدة للجميع و الرزق على الله

max_5_sal_procedure.txt

بتاريخ:

السلام عليكم
مشكور أخي الكريم
و يمكن ايضا تحقيق نفس النتيجة بجملة استعلام بسيطة
و هي مثال علي مفهوم الtop n view
اي اعلي ارقام لشئ معين
مثل اعلي 5 رواتب او قدم 5 موظفين تم تعيينهم

و اليكم جملة الاستعلام

SELECT   ROWNUM RANK, ename, sal
FROM (SELECT   *
		  FROM emp
	  ORDER BY sal DESC) a
  WHERE ROWNUM < &&req_num + 1
ORDER BY sal DESC, ename
  
 


ملحوظة : عند تشغيل الاستعلام سيطلب منك الرقم الذي تريد الاستعلام عنه مثل اعلي 5 او اعلي 10 و هكذا
ادخل الرقم نفسه
مثل اذا كنا نريد ان نختار اعلي 5 موظفين من حيث الراتب نكتب 5
و ايضا يمكن تعديل الاستعلام ليكون علي تاريخ التعيين مثلا

مع تمنياتي بالتوفيق

  • بعد 2 شهور...
بتاريخ:

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

  • بعد 3 أسابيع...
بتاريخ:

** طريقة بسيطة وسريعة لإرجاع عدد معين من السجلات في (Report) وهذه الطريقة محددة بعدد معين فقط من السجلات
1 . يتم اختيار (Property Palette) للمجموعة .
2 . في خيار (Group) يتم اختيار نوع (Filter Type) مثلاً (First) لإرجاع أول عدد معين من السجلات.
3 . يظهر خيار جديد (Number Of Records) نضع فيه عدد السجلات التي نرغب بإرجاعها .

بتاريخ:

أخى هانى كلنا نعلم Top-N و لكن الاخ صاحب المشاركه ذكر انه كان فى مقابله لوظيفه فربما سألوه ان يقوم بعمل procedure يقوم باستخراج اعلى 5 مرتبات وليس جمله استعلام .. ولك جزيل الشكر

  • بعد 10 شهور...
بتاريخ:

مشكور اخي الكريم على الايضاح

  • بعد 1 سنة...
بتاريخ:

السلام عليكم اخى العزيز


محاولة جيدة ولكن الكود طويل ولم يؤدى الغرض المطلوب والان سوف اقوم بعرض حل من الحلول الخمسة وهو قصير ويؤدى الغرض بشكل ممتاز
select * from emp E
         where &N = (select count(distinct nvl(sal,0)) from emp
                         ; where sal >= E.sal )


ارجو ان ينال اعجابك

بتاريخ:

ده اسهل حل

select sal from (select sal from emp order by sal desc)
where rownum<6

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

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

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

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

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

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.