2014-06-10 44 views
0

我有這個表:由兩列組成是可能的嗎?

ID  Price Time 
0  20,00 20/10/10 
1  20,00 20/10/10 
2  20,00 12/12/10 
3  14,00 23/01/12 
4  87,00 30/07/14 
4  20,00 30/07/14 

我用這個語法SQL來獲得在沒有得到重複值的方式,所有的價格列表:

SELECT * FROM myTable WHERE id in (select min(id) from %@ group by Price) 

此代碼返回我的價值觀(20,14,87,20)

但是在這種情況下,我會執行另一個檢查,它不僅按價格排序,還按日期排序,例如:如果我找到按日期檢查的方法,給我返回值(20,20,14,87,20)

他重複兩次,但如果我們在表中看到,我們有三個數字(兩次與日期20/10/10和一個帶有日期12/12/10)和正好我想要得到什麼!

有人可以幫我嗎?

+2

'SELECT price FROM myTable GROUP BY price,time ORDER BY time' should be working。除非需要返回所有列,否則不需要子查詢。 –

+0

@GigaWatt謝謝爲我工作。 – user3613119

回答

1

只要您需要的是價格/時間組合,以下應該工作。如果你需要包括ID,事情變得更加複雜:

SELECT `Price` FROM items 
GROUP BY `Price`, `Time` 
ORDER BY `Time`; 

這裏的,結果在行動小提琴:http://sqlfiddle.com/#!2/40821/1

+0

感謝您的幫助:) – user3613119

2

要通過多個列組,只是把一個逗號在列表之間。

SELECT price FROM myTable group by price, time order by time 

該組通過查看列出列值的所有不同組合,並丟棄重複項。您還可以使用匯總函數,如sum或max將更多列添加到結果中。

+0

感謝您的幫助:) – user3613119

相關問題