2010-08-01 53 views
2

我試圖做一個查詢得到一些結果:MySQL查詢組由

我有一個表的一些數據:

client | price 

1 | 100 

1 | 150 

1 | 200 

2 | 90 

2 | 130 

2 | 200 

3 | 95 

3 | 120 

3 | 250 

我會用一個查詢喜歡選擇結果和秩序它的價格和客戶,並讓他們以這種形式,由每個克林特最優惠的價格訂購:

2 | 90 

2 | 130 

2 | 200 

3 | 95 

3 | 120 

3 | 250 

1 | 100 

1 | 150 

1 | 200 
+1

如果兩個客戶以最低價格聯繫,但不是他們的第二低價,會發生什麼?他們可以以任何一種順序退還,還是以第二低的價格作爲平局? – 2010-08-01 16:28:12

+0

馬克,閱讀第二條評論,謝謝你的評論。更正了答案。 – AlexanderMP 2010-08-01 16:29:31

+0

@Alexander:第二個評論是現在的第一個評論:)。我決定刪除我的第一條評論,因爲我不再有興趣知道答案。如果我知道第二個問題的答案對我來說足夠了。 – 2010-08-01 16:33:08

回答

3
SELECT tbl.client, ytbl.price 
FROM (SELECT client, min(price) as mpr FROM yourtable group by client) tbl 
JOIN yourtable ytbl ON ytbl.client=tbl.client 
ORDER BY tbl.mpr ASC, tbl.client ASC, ytbl.price ASC 

東西像那樣......

+0

+1:Drats - 打敗我。 – 2010-08-01 16:31:54

+0

嗨亞歷山大,它工作的很棒! 非常感謝:-) 乾杯 Nik – Nik 2010-08-01 16:37:21

+0

很高興聽到! 我看到你是新來的。如果您找到問題的答案,請將其標記爲正確的答案。當你接受答案時,你會得到積分,給出正確答案的人也會得到積分。這是什麼使這個論壇繼續(除了利他主義)。 – AlexanderMP 2010-08-01 16:40:43