2012-06-23 1 views
0

내가 같은 테이블 (PriceHistory)가 가정의 변경을 선택할 때마다 내가 행에 아무것도을 변경, 나는 테이블에 다시 전체 행을 기록합니다.SQL 쿼리 : 만

id | buy_price | sell_price | change_date 
1 |   2 |   2 | 2012-06-22 
2 |   3 |   2 | 2012-06-20 
3 |   2 |   6 | 2012-06-15 
4 |   5 |   5 | 2012-06-15 
5 |   5 |   7 | 2012-06-15 
6 |   4 |   8 | 2012-06-12 
난 단지 BuyPrice의 변화에 ​​관심

, 방법 단지 선택 행 1, 2, 3, & 5가 있는가?

는 여기에 내가 가지고 올 루비 코드이지만, 그것은 단지 변경된 행

PriceHistory.select("id, BuyPrice, change_date"). 
order("change_date DESC") 

루비와 SQL 답변 모두 괜찮를 선택하지 않습니다.

+0

어떻게 변화하고 있습니까? 새 행을 삽입하거나 이전 행을 변경 하시겠습니까? – simchona

+0

buy_price 또는 sell_price가 변경 될 때마다 매번 새로운 행을 삽입하십시오. –

+1

1, 2, 3, 4 및 6을 사용 하시겠습니까? 'buy_price'가 변경되지 않는 유일한 실행은 4에서 5 사이입니다. –

답변

0

이 시도 :

@histories = PriceHistory.select("id, BuyPrice, change_date").order("change_date DESC") 

(@histories.size - 1).times do |n| 
    if @histories[n].buy_price != @histories[n+1].buy_price 
    puts "changed from : " + @histories[n].id.to_s + " to: " + @histories[n+1].id.to_s 
    end 
end 

행운을 빕니다!