بیشترینها

navidvakili

New Member
آیا می توانید کد Sql را به من معرفی نمایید که بتواند بیشترین اعداد قرار گرفته شده در یک فیلد را نمایش دهد.
مثلا من می خواهم با این کد پر بیننده ترین مقالات بازدید شده سایتم را نمایش دهم، یعنی براساس فیلد کنتور آن مقالات، بیشترین ها را نشان دهد.
با تشکر
 

navidvakili

New Member
هیچ کس نمی خواد جوابهای ما را در این سایت بده، مثل اینکه همه با من قهرن.
 

I.NoBody

Active Member
فرض کنيم فيلدي که اون مقادير رو داره که تعيين مي کنه بيشترين بيننده هست اسمش هست viewed.
حالا query اين ميشه :
کد:
SELECT * FROM `ara_news_artic` ORDER BY `viewed` DESC
با اين کار تو يک آرايه دار ي که بر اساس viewed به ترتيب نزولي مرتب شده.
اگه هم مي خواي مثلاً 5 تاي اول رو نشون بدي بايد limit بذاري :
کد:
SELECT * FROM `ara_news_artic` ORDER BY `viewed` DESC limit 0,5
 

mosi20

Active Member
باید Type هر فیلد int باشه مگرنه کار نمیکنه
حالا درست شد
 

oxygenws

Active Member
تایپ *هر* فیلد؟؟
یعنی چی؟؟
منظورت اینه نمیشه order by رو روی مثلا رشته ها انجام داد؟
 

mosi20

Active Member
منظورت از رشته چیه؟
هر فیلدی که بخواهی یک چنین کاری باهاش بکنی مثلا host باید حتما باید نوع int باشه تا بر اساس اون بتونه سورت کنه
 
آخرین ویرایش:

oxygenws

Active Member
ممنون، فقط می خواستم مطلب برای آیندگان بیشتر روشن بشه... (منظورم از رشته، string بود)
ضمن اینکه order by می تونه روی تقریبا تمام انواع فیلد ها (تاکید می کنم، تقریبا) کار کنه. ولی در این مورد که "بیشترین ها" رو نیاز داشته، اون فیلد منطقا باید از خانواده int باشه.
 

I.NoBody

Active Member
من که نوشته بودم، فرض مي کنيم فيلد viewed مقاديري رو داره که تعداد مشاهدات رو تعيين ميکنه . پس حتماً از خانواده int هستش
 

جدیدترین ارسال ها

بالا