select ค่าที่มากสุดอันดับ1 และอันดับ2

Post a reply

Smilies
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: select ค่าที่มากสุดอันดับ1 และอันดับ2

Re: select ค่าที่มากสุดอันดับ1 และอันดับ2

by aei_ou » 04/08/2009 3:06 pm

ขอบคุณมากครับ ทำได้แล้ว

ผมใช้วิธี temp table เข้าช่วยครับ

Re: select ค่าที่มากสุดอันดับ1 และอันดับ2

by mindphp » 04/08/2009 1:40 pm

mindphp wrote:ใช้ GROUP BY จะได้ อันดับ มา
ใช้ ORDER BY จะได้ ข้อมูลที่เรียงตามลำดับออกมา
ต้อง Query มาสองครั้ง group และเรียงมันจะได้ค่า สูงสุด 1,2,3,...
เช่น มากสุด 1=16 ,2=14
ก็เอา 16 ,14 เป็นเงือนไขในการ query อีกครั้ง

Re: select ค่าที่มากสุดอันดับ1 และอันดับ2

by aei_ou » 04/08/2009 1:04 pm

คือผมจะ query อันแรกเอาค่าที่มากที่สุดออกมาแสดง จะได้ 16,16 เท่านั้น

แล้วก็สั่ง query อีกอัน เอาค่าที่มากที่สุดอันดับ 2 มา จะได้เฉพาะ 14,14,14,14

ถ้า group by มาแล้ว แล้ว order by desc เอาค่าสูง
สุดขึ้นก่อน แล้ว Limit 1 มันก็ได้ แต่ค่าที่สูงสุดอันดับ 1 มันมีมากกว่า1ค่า พอlimit 1 มันจะได้ค่าเดียว

แล้วข้อมูลในฐานข้อมูลจิงๆ เราจะไม่รู้เลยว่ามีอะไรมั่ง เพราะ ต้องselectตามเงื่อนไข where เราจะไม่รู้เลยว่าอันดับที่1 สูงสุดมีกี่ค่า อันดับ2มีกี่ค่า มันเลยใช้ limit ไม่ได้
มึนเลย

Re: select ค่าที่มากสุดอันดับ1 และอันดับ2

by mindphp » 04/08/2009 12:24 pm

ใช้ GROUP BY จะได้ อันดับ มา
ใช้ ORDER BY จะได้ ข้อมูลที่เรียงตามลำดับออกมา

select ค่าที่มากสุดอันดับ1 และอันดับ2

by aei_ou » 04/08/2009 11:42 am

สมมุตมีข้อมูลในตารางคือ 16,16,14,14,14,14,5,4,1

query ข้อมูลที่มากที่สุด
อันดับ1 คือ 16,16
อันดับ2 คือ 14,14,14,14

ให้มันแสดงข้อมูลออกมาทั้งหมดทั้งอันดับ 1 และ 2 จะquery ยังไงคับ

Top