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

الاستعلام عن عمود ليس من ضمن ال Group

Featured Replies

بتاريخ:

كما عودناكم هناك دائما الجديد ,, ومع مودي مش هتقدر تغمض عينيك :huh: :huh: :o

هناك سؤال تقليدي من قبل الزبائن وهو
"اريد اظهار اقل راتب لكل دائرة" :rolleyes: والذي ببساطة يمكن حله كما يلي

SQL> select deptno, min(sal)
 2  from emp
 3  group by deptno;


ولكن بتعرفو الطلبات ما بتخلص :blink: بيرجع بيطلب كمان شغلة
"بدي اعرف رقم الموظف صاحب اقل راتب في كل دائرة" :) :) بيطلب كثير اشياء :o
فتقوم بتعديل الجملة لكي تصبح

SQL> select deptno, empno, min(sal)
 2  from emp
 3  group by deptno;


لكن للأسف يظهر معك الخطأ التالي

ORA-00979: not a GROUP BY expression


كنا زمان نحل هذه المشكلة باستعمال sub-select او انشاء inline-view
ولكن هناك طريقة ظريفة اكتشفتها بالامس منذ 9i وهي موجودة

SQL> select deptno, min(sal), min(empno) 
 2	KEEP ( dense_rank FIRST order by sal) empno
 3  from emp
 4  group by deptno
 5  /

DEPTNO   MIN(SAL)	  EMPNO
---------- ---------- ----------
	10	   1300	   7934
	20		800	   7369
	30		950	   7900


ركزو على

KEEP ( dense_rank FIRST order by sal)



وعدم استعمالنا لا sub-select ولا inline-view


تحياتي :blink:




تم إضافة الكود في ملف نصي بالمرفقات
إدارة المنتدى

keep.txt

بتاريخ:

السلام عليكم
االاخ العزيز مودي والله روتانا سينما ولا شي جنبك
لو تشتغل الطريقة على الثمانية آي :)
وفقك الله
الجنتل

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

حبيبي يا جنتل والله ما بعرف اذا بتشتغل على ال 8 بس مااعتقد
انت جرب وردلنا خبر

بتاريخ:

السلام عليكم

شكر جدا جدا ياحلى والذ واطعم صديق قابلتة على المنتدى

دايما سابقنا بحاجاتك الطعمة دى

الامر keep

موجود بس على 9 اى فما فوفقة

عشان بس محدش يقول الجملة غلط ومشتغلتشى معانا

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

شكرا اخوي mw_wageeh

بالنسبة للامر keep يمكنك استعماله بشكل عكسي كما يلي

KEEP ( dense_rank LAST order by sal)



تحياتي

بتاريخ:

السلام عليكم
:) :) :rolleyes: :blink:
للاسف ما اشتغل
ولكن اولا واخيرا يسلموااااااااااا مودي
وفقك الله
الجنتل

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





الامر keep

موجود بس على 9 اى فما فوفقة

عشان بس محدش يقول الجملة غلط ومشتغلتشى معانا



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

زادك المولى إيمانا وعلما وحرصا

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

والله جربته على 10 جى ولكن مااشتغل
ولكن تسلم

لا ياشباب اسف والله اشتغل على 10 جى ولكنى كنت انا المخطئ بتنفيذه
بارك الله لك

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

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

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

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.