برگزیده های پرشین تولز

انتخاب بزرگترین مقدار رکوردها

ma_christian

Registered User
تاریخ عضویت
25 ژانویه 2007
نوشته‌ها
368
لایک‌ها
2
محل سکونت
Tehran
با سلام ؛

خواستم درباره ی یک دستور از دوستان سوال کنم:

یک سری رکورد داریم که در هر کدام از آنها در فیلدخاصی مثل Number یک سری عدد هست. من می خواهم 5 تای اول این اعداد رو که بیشتری مقدار رو نسبت سایرین دارند را پیدا کنم.

1) آیا دستوری از SQL وجود دارد که این مقادیر را به من بدهد؟

2) این دستور را هم تست کردم ولی جواب نداد: SELECT MAX(Number) FROM table ... که این دستور رقم اول اعداد را جستجو می کرد یعنی اگر دو تا رکورد با فیلدهای 50 و 100 داشته باشیم شماره ی 50 رو نشون می داد که رقم اول اون بیشتر از 100 هست. (1<5)

3) ممنون ... :)
 

ma_christian

Registered User
تاریخ عضویت
25 ژانویه 2007
نوشته‌ها
368
لایک‌ها
2
محل سکونت
Tehran
داشتم رد می شدم ، دیدم راهم گم شد گفتم یک سری هم به این تاپیک بزنم.

...

بی خیال موضوع 5 تایی ...

اگر دوستان لطف کنند و کدی را به بنده معرفی کنند که ماکزیمم یک رکورد را با استفاده از یک فیلد آن بگیرم ممنون می شوم. یک بار دیگر هم عرض می کنم که من از کد زیر استفاده کردن و جواب نگرفتم یعنی اگر دو عدد 99 و 100 وجود داشته باشد چون عدد اول از سمت چپ 99 بزرگتر از عدد اول 100 است ، 99 را به عنوان بیشتری مقدار به داد.

select max(FIELD) as MyName From TABLE
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
با سلام ؛

خواستم درباره ی یک دستور از دوستان سوال کنم:

یک سری رکورد داریم که در هر کدام از آنها در فیلدخاصی مثل Number یک سری عدد هست. من می خواهم 5 تای اول این اعداد رو که بیشتری مقدار رو نسبت سایرین دارند را پیدا کنم.

1) آیا دستوری از SQL وجود دارد که این مقادیر را به من بدهد؟

2) این دستور را هم تست کردم ولی جواب نداد: SELECT MAX(Number) FROM table ... که این دستور رقم اول اعداد را جستجو می کرد یعنی اگر دو تا رکورد با فیلدهای 50 و 100 داشته باشیم شماره ی 50 رو نشون می داد که رقم اول اون بیشتر از 100 هست. (1<5)

3) ممنون ... :)
با سلام

1) والا من الان چیزی به ذهنم نمیرسه !

2) این به این دلیل است که فیلد شما رشته ای است و مقایسه روی رشته ها صورت میگیرد. در فیلدهای عددی چننی موردی پیش نخواهد آمد

3) زنده باشید :D
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
داشتم رد می شدم ، دیدم راهم گم شد گفتم یک سری هم به این تاپیک بزنم.

...

بی خیال موضوع 5 تایی ...

اگر دوستان لطف کنند و کدی را به بنده معرفی کنند که ماکزیمم یک رکورد را با استفاده از یک فیلد آن بگیرم ممنون می شوم. یک بار دیگر هم عرض می کنم که من از کد زیر استفاده کردن و جواب نگرفتم یعنی اگر دو عدد 99 و 100 وجود داشته باشد چون عدد اول از سمت چپ 99 بزرگتر از عدد اول 100 است ، 99 را به عنوان بیشتری مقدار به داد.

select max(FIELD) as MyName From TABLE
در پست قبل جواب دادم !
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
راستی در مورد 5 تا رکورد اول میتوانید چنین کدی داشته باشید :

کد:
SELECT TOP 5  myfield  FROM myTable order by myfield
 

illusion

Registered User
تاریخ عضویت
26 ژانویه 2008
نوشته‌ها
149
لایک‌ها
4
داشتم رد می شدم ، دیدم راهم گم شد گفتم یک سری هم به این تاپیک بزنم.

...

بی خیال موضوع 5 تایی ...

اگر دوستان لطف کنند و کدی را به بنده معرفی کنند که ماکزیمم یک رکورد را با استفاده از یک فیلد آن بگیرم ممنون می شوم. یک بار دیگر هم عرض می کنم که من از کد زیر استفاده کردن و جواب نگرفتم یعنی اگر دو عدد 99 و 100 وجود داشته باشد چون عدد اول از سمت چپ 99 بزرگتر از عدد اول 100 است ، 99 را به عنوان بیشتری مقدار به داد.

select max(FIELD) as MyName From TABLE

با سلام
اگه فکر می کنید که همه مقادیر فیلد عددی است چرا نوع فیلد رو از نوع Number نمی گیرید؟:eek:
 
Last edited:

najafzadeh

کاربر فعال پایگاه داده ها
کاربر فعال
تاریخ عضویت
21 سپتامبر 2005
نوشته‌ها
522
لایک‌ها
28
محل سکونت
قزقلعه
با سلام ؛

خواستم درباره ی یک دستور از دوستان سوال کنم:

یک سری رکورد داریم که در هر کدام از آنها در فیلدخاصی مثل Number یک سری عدد هست. من می خواهم 5 تای اول این اعداد رو که بیشتری مقدار رو نسبت سایرین دارند را پیدا کنم.

1) آیا دستوری از SQL وجود دارد که این مقادیر را به من بدهد؟

2) این دستور را هم تست کردم ولی جواب نداد: SELECT MAX(Number) FROM table ... که این دستور رقم اول اعداد را جستجو می کرد یعنی اگر دو تا رکورد با فیلدهای 50 و 100 داشته باشیم شماره ی 50 رو نشون می داد که رقم اول اون بیشتر از 100 هست. (1<5)

3) ممنون ... :)


http://forum.persiantools.com/t139660.html

اونجا قبلا پرسیده شده و جواب دادم.

با تشکر
 

elna

کاربر تازه وارد
تاریخ عضویت
15 سپتامبر 2013
نوشته‌ها
34
لایک‌ها
3
Ban kanid MARAB,BAkoshid MARA
 
بالا