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

بتاريخ:

السلام عليكم و رحمة الله و بركاته
إخواني الكرام

أريد كتابة جملة Select تقوم بجلب آخر عشر تواريخ تم إدخالها في جدول معين. ولنفرض أن الجدول هو EMP و العمود هو Hiredate فما هي جملة ال select التي يمكن من خالها إسترجاع آخر 10 تواريخ تم إدخالها.


select hiredate from emp
where..................



بارك الله فيكم أرجو الرد السريع إن أمكن.

السلام عليكم

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

نسيت أن أخبركم أن التاريخ يمكن أن يكون مكررا و بالتالي إستخدام أمر Rownum لن يفيد لأنه يمكن أن يرجع لي آخر 10 سجلات و تكون هذه العشر سجلات لنفس التاريخ و لكن السؤال هو أريد آخر عشرة تواريخ مختلفة .
يعني لو كان عندي ثلاثة موظفين عينوا في نفس التاريخ إريد أ، يرجع تاريخ واحد فقط.

بتاريخ:

هذا هو ما فهمته من كلامك و اتمنى ان يكون صحيح


select distinct hiredate from emp
where rownum between 1 and 10
order by hiredate desc;
بتاريخ:

السلام عليكم ارجو ان يعمل هذا الكود علما بأننى لم جربه بعد و لكن الفكره صحيحه ان شاء الله


SELECT TO_CHAR(HIRE_DATE,'YYYY')
FROM ( SELECT DISTINCT TO_CHAR(HIRE_DATE, ' YYYY ' )
FROM EMP )
WHERE ROWNUM<=10;

بتاريخ:

SELECT HIRE_DATE
FROM ( SELECT DISTINCT TO_CHAR(HIRE_DATE, ' YYYY ' )
FROM EMP )
WHERE ROWNUM<=10;

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

الشكر الجزيل لكل من شارك و كتب ما يفيض به عقله و لكن الحل ليس فيها فلقد قمت بتجربة هذه الخيارات قبل أن أطرح السؤال هنا و لكن دعوني أصيغ ما أريد بطريقة أخرى حتى تصل الفكره واضحة و جليه إن شاء الله.

إفترض أنك تريد أن تظهر أعلى 10 رواتب لكل موظفين الشركة ولنفرض أن عدد الموظفين 50 و لكنك تريد أعلى 10 رواتب فقط و هذه الحاله مشابهة بالضبط للمشكلة التي أواجهها فأنا أريد آخر 10 تواريخ مختلفة تم إدخالها.

بارك الله فيكم و سدد خطاكم.

بتاريخ:

السلام عليكم و رحمة الله وبركاته

الأخ الكريم
ما فهمته انك تريد اظهار اكبر 10 تواريخ مع استبعاد التكرار

و اعتقد ان هذه السيليكت تقوم بذلك
و هي نفس سيليكت الtop n view
و لكن مع اضافة distinct في الsubquery فقط

SELECT ROWNUM RANK, hiredate
 FROM (SELECT DISTINCT hiredate
			   FROM emp
			  WHERE hiredate IS NOT NULL
		   ORDER BY hiredate DESC)
WHERE ROWNUM <= 10



أرجو الاجابة ان كان هذا ما تريد ام لا
مع تمنياتي بالتوفيق

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

بارك الله فيك أخي Hanon_OCP مشكور على جهدك الطيب ....نعم هذا ما قصدته بالضبط و قد حلت لي مشكلتي .
بارك الله فيك و سدد خطاك مع أنني كنت أستخدم Select معقده جدا أعرضها هنا ليستفيد الجميع إن شاء الله.


SELECT DISTINCT "Load Date"
FROM
( SELECT ROWNUM "RN",substation_name,TO_CHAR(load_date,'dd-mm-yyyy') "Load Date",
(SELECT MAX(ROWNUM)-10 FROM substation_def,subs_outage_loads WHERE
substation_def.substation_no=subs_outage_loads.substation_no ) "max-10" ,
(SELECT MAX(ROWNUM) FROM substation_def,subs_outage_loads WHERE
substation_def.substation_no=subs_outage_loads.substation_no ) "max"
FROM substation_def,subs_outage_loads
WHERE substation_def.substation_no=subs_outage_loads.substation_no )

WHERE "RN" > "max-10" ORDER BY "Load Date" DESC




مع العلم أن أسماء الجداول هي الاسماء التي أستخدمها أنا

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

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

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

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

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

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.