استخراج اخرین رکورد

sogoli

Active Member
سلام
من یه جدول دارم که می خواهم یک view براش بسازم. جدول من بصورت زیر است:

id -- name -- price
-----------------------
1 -- ali -- 2500
2 -- reza -- 3500
3 -- ali -- 4900
4 -- ali -- 2100
5 -- reza -- 3600
--------------------
view که مد نظر من هست بدین صورت که می خواهم از هر اسم اخرین رکورد رو به من نشون بده بصورت زیر:
1 4900 ali
2 reza 3600

کد زیر رو نوشتم ولی جواب نداد:

select * from table group by name order by deasc limit 1

ممنون میشم راهنمایی کنید
 

oldooz

Well-Known Member
کد:
select max(id),name,price from table where name=reza
اگه منظورتون رو درست متوجه شده باشم باید این باشه
 
آخرین ویرایش:

sogoli

Active Member
کد:
select max(id),name,price from table where name=reza
اگه منظورتون رو درست متوجه شده باشم باید این باشه
باتشکر از راهنمایی شما
ولی جواب نداد
ببینید من دنبال این هستم که براساس فیلد نام که گروه بندی می شود،آخرین رکورد مربوط به ان نمایش داده شود
 

oldooz

Well-Known Member
select * from table group by name order by deasc limit 1

این کد شما در اینجا غلط املائی داره

view که مد نظر من هست بدین صورت که می خواهم از هر اسم اخرین رکورد رو به من نشون بده بصورت زیر:
1 4900 ali
2 reza 3600

من از اینجا سر در نمیارم
آخرین رکورد از علی که 2100
منظورتون اینه که برحسب قیمت نشون بده؟
 

sogoli

Active Member
سعی می کنم واضحتر بیان کنم
همانطور که در جدول بالا دیدید ، شامل ردیف ، نام ، قیمت هست.

حال می خواهم از هر نام بزرگترین ردیف رو انتخاب کنم.
یعنی طبق رکورد های بالا
از نام علی ردیف شماره 4
واز نام رضا ردیف شماره 5 انتخاب شود.
 

oldooz

Well-Known Member
سلام کورش جان خوبی؟
میشه توضیح بدی این کد:
کد:
select max(id),name,price from table where name=reza
چرا نمیشه؟ واسه خودم سوال شده!
 

oldooz

Well-Known Member
اینو میدونم ولی...
این کد این کارو نمیکنه:
از فیلد آی دی بیشترین رو + فیلد قیمت + نام به شرطی که رضا باشه
؟
خب اینا جمعشون این میشه که
5 -- reza -- 3600
:-?
اینو نمی خواستن مگه!
احتمالا یه جاییشو اشتباه میکنم اما کجا نمیدونم
 

k2-4u

Well-Known Member
ای بابا :lol:
خودم اشتباه کردم !!
شرمنده دوستان !!

درستش میشه همین که
دوستی گفت (با کمی تغییر )

کد:
SELECT max(id),name,price FROM  table WHERE(name='reza' OR name='ali')  LIMIT  0,1;
 
آخرین ویرایش:

oldooz

Well-Known Member
می فکر میکردم کورش اشتباه رو (حداقل توی php) نمیشناسه اما اشتباه شمارم دیدیم چه عجب:oops:
 

sogoli

Active Member
ای بابا :lol:
خودم اشتباه کردم !!
شرمنده دوستان !!

درستش میشه همین که
دوستی گفت (با کمی تغییر )

کد:
SELECT max(id),name,price FROM  table WHERE(name='reza' OR name='ali')  LIMIT  0,1;

ممنون از راهنمایی شما
راه حل بالا درست است و کارمی کند ولی می خواهم name بصورت استاتیک مثل ali و reza مشخص نکنم بلکه بصورت داینامیک و متغیر باشه چون تعداد و نامهای مربوط به name زیاد و متفاوت هستند
 

BehrouzPc

پــــادشــاه فــلــــش
فکر کنم منظورتون این باشه !؟!؟!!؟


SELECT id,name,max(price) as maxprice FROM ....
 

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

بالا