Re: [SQL ] 請問一個Sql寫法

看板Database (資料庫)作者 (阿哥哥~)時間18年前 (2006/08/12 05:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/3 (看更多)
※ 引述《agogoman (阿哥哥~)》之銘言: :  假如有兩張表格 A 和 B , 我想要用SQL選出 前三位 Sales最高的店名 :  , 則語法要用那一個函數 , 我是想到先用max函數取的最高,在用 : UNION ALL 這函數連接第二個query,再把第二個query的max函數條件多加上不能等於 :  最高的,依序得到三個最高的store_name,但我覺得這樣寫好像不是很好,或者說 : 幼稚園才這樣想 =__= , 因為本身對sql不是說很熟,大部份摸了大約幾個月,應該 :  是有甚麼直接取得的函數,(也請大大幫我看看我的想法對不對) : A : store_name  Sales : AA      100 : AB      200 : AC      300 : AD 400 : B : Area store_name : Kaoshiung  AB : Taipei AA : Taichung AC : Taipei AD        煩請大大點一下就好 , 如用那個函數之類的 : thx,發表在這邊是因其它版幾乎都沒甚麼人Q.Q 剛想了一下 , 但感覺還是怪怪的 , 請大大幫我check一下.. 1. select Max(a.sales) ANS1, MAX(b.sales) ANS2, MAX(c.sales) ANS3 2. from A a , A b , A c 3. where ANS2 <> ANS1 4. and ANS3 NOT IN(ANS1,ANS2); --------------------- 比較有疑問的是在第3行,我給定ans2的值不能等於最大,那它會自動帶出第二大  的值出來嗎 ? 還是取的得是null ? 另外假如要取得的值是要前面20筆的話,我上面的寫法肯定爆炸... 有甚麼另外的取法嗎 ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.104.164.213
文章代碼(AID): #14tFH74g (Database)
討論串 (同標題文章)
文章代碼(AID): #14tFH74g (Database)