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

هل توجد دالة اسمها Rank في الsql

Featured Replies

بتاريخ:

كيف احصل علي ثاني اكبر راتب في جدول الموظفين تاني اعلي راتب فقط في ريكورد لوحدو :(

بتاريخ:

جرب هذا الكود

select salary , rownum
from (select salary from employees order by salary desc) 
where rownum = 2;

بتاريخ:

بسم الله الرحمن الرحيم
ممكن أخي العزيز أن تستخدم هذا الكود
select max(sal)
from emp
where sal <(max(sal) from emp

اخوك موسى
miash80
:( :( :D

بتاريخ:

بسم الله الرحمن الرحيم


select max(sal)
from emp
where sal <(max(sal) from emp


أعتقد ان هذا الكود سوف يولد خطأ فالدالة max لا يجوز ان تستخدم مع where لأن الـ group function لا يجوز مناداتها مع where .... وان كنا نريد إستخدامها لفلترة البيانات فمكانها مع Having وليس مع where
  • بعد 1 شهر...
بتاريخ:

بالفعل الأكواد السابقة خطأ
الكود الصحيح هو

SELECT max(sal) 
 FROM emp 
 WHERE sal <> 
		 (select max(sal) from emp);


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

بتاريخ:

كيف احصل علي ثاني اكبر راتب في جدول الموظفين تاني اعلي راتب فقط في ريكورد لوحدو :angry:

نعم هناك بالفعل دالة اسمها rank
select emp,sale,rank()over(orderby sale)rank from emp_sale
  • بعد 9 شهور...
بتاريخ:

السلام عليكم



هذا هو الكود

select max(sal) from emp where sal <(select max(sal) from emp); t
والفكره ببساطه انو اجيب اكبر راتب وبعدين اجيب اكبر راتب بحيث يكون اصغر من الراتب الي جبته بالاول

بتاريخ:

السلام عليكم
الحل هو الصحيح هو

select sal , rownum
from (select sal from emp order by sal desc) 
where rownum <=2  ;


وشكرا
ميجا

بتاريخ:

select max (sal)
from emp
where sal <> (select max ( sal) from emp);

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

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

أرجو التكرم بكتابة الكود
ولك جزيل الشكر

بتاريخ:

السلام عليكم

ANK calculates the rank of a value in a group of values. Rows with equal values for the ranking criteria receive the same rank. Oracle then adds the number of tied rows to the tied rank to calculate the next rank. Therefore, the ranks may not be consecutive numbers.
As an aggregate function, RANK calculates the rank of a hypothetical row identified by the arguments of the function with respect to a given sort specification. The arguments of the function must all evaluate to constant expressions within each aggregate group, because they identify a single row within each group. The constant argument expressions and the expressions in the ORDER BY clause of the aggregate match by position. Therefore, the number of arguments must be the same and their types must be compatible.

As an analytic function, RANK computes the rank of each row returned from a query with respect to the other rows returned by the query, based on the values of the value_exprs in the order_by_clause.


Syntax
Aggregate Syntax: rank_aggregate


         vÄÄ,ÄÄÄ¿
>ÄÄRANKÄÄ(ÄÄexprÄÁÄ)ÄÄWITHIN GROUPÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ>
            vÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ,ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
>ÄÄ(ORDER BYÄÄexprÄÂÄÄÄÄÄÄÄÄÂÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÁÄ)ÄÄÄÄÄÄÄÄÄÄÄÄÄ><
                  ÀÂÄDESCÂÄÙ ÀÄNULLSÄÂÄFIRSTÄÂÄÙ
                   ÀÄASCÄÙ           ÀÄLASTÄÄÙ
Analytic Syntax: rank_analytic


>ÄÄRANKÄÄ()ÄOVERÄÄ(ÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄorder_by_clause)ÄÄ><
                   ÀÄquery_partition_clauseÄÙ
Aggregate Example
The following example calculates the rank of a hypothetical employee in the sample table hr.employees with a salary of $15,500 and a commission of 5%:

SELECT RANK(15500, .05) WITHIN GROUP
  (ORDER BY salary, commission_pct) "Rank"
  FROM employees; Rank
----------
      105
Similarly, the following query returns the rank for a $15,500 salary among the employee salaries:

SELECT RANK(15500) WITHIN GROUP 
  (ORDER BY salary DESC) "Rank of 15500" 
  FROM employees; Rank of 15500
--------------
            4

Analytic Example
The following statement ranks the employees in the sample hr schema within each department based on their salary and commission. Identical salary values receive the same rank and cause nonconsecutive ranks. Compare this example with the example for DENSE_RANK.

SELECT department_id, last_name, salary, commission_pct,
  RANK() OVER (PARTITION BY department_id
  ORDER BY salary DESC, commission_pct) "Rank"
  FROM employees; DEPARTMENT_ID LAST_NAME           SALARY COMMISSION_PCT       Rank
------------- --------------- ---------- -------------- ----------
          10 Whalen                4400                         1
          20 Hartstein 13000                         1
          20 Goyal                 6000                         2
          30 Raphaely             11000                         1
          30 Khoo                  3100                         2
          30 Baida                 2900                         3
          30 Tobias 2800                         4

بتاريخ:

بالنسبة للكود
SELECT max(sal)
FROM emp
WHERE sal <>
(select max(sal) from emp);

فانه يظهر اعلى ثاني راتب . ماذا لو اردت اعلى ثالث راتب او الرابع أو ......................الخ (غير ثانبت)


اما بالنسبة للكود
select sal , rownum
from (select sal from emp order by sal desc)
where rownum <=2 ;
فانه يظهر الراتب الاول والثاني وانا ارديد الثاني فقط او الثالث او الرابع .............................الخ

يا ريت لو يشاركني بهذه الأسئلة

بتاريخ:
-- جلب ثاني أكبر راتب.
SELECT MAX(SAL) AS MAX_SAL
FROM EMP
WHERE SAL < (SELECT MAX(SAL) - 1 FROM EMP)

-- جلب أول أكبر 10 رواتب--
SELECT EMPNO,SAL
FROM (SELECT EMPNO,SAL FROM EMP ORDER BY SAL DESC) T
WHERE ROWNUM <= 10

-- جلب آخر أصغر 10 رواتب--
SELECT EMPNO,SAL
FROM (SELECT EMPNO,SAL FROM EMP ORDER BY SAL) T
WHERE ROWNUM <= 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.