2016-03-30 28 views
0

Bunu nasıl yapabilirim? Ben kayboldum2 satır + karşılaştırma Mysql

╔════════╦══════════╦══════════╗ 
║ ITEM ║ PRICE ║ DATE  ║ 
╠════════╬══════════╬══════════╣ 
║ Dollar ║  60 ║ 1.3.2016 ║ 
║ Dollar ║  50 ║ 2.3.2016 ║ 
║ Bound ║  100 ║ 1.3.2016 ║ 
║ Bound ║  110 ║ 2.3.2016 ║ 
║ Euro ║  600 ║ 1.3.2016 ║ 
║ Euro ║  580 ║ 3.3.2016 ║ 
╚════════╩══════════╩══════════╝ 

Çıktı önceki sıranın

╔════════╦══════════╦════════════════════════╗ 
║ ITEM ║ PRICE ║ DATE  ║ Differnece ║ 
╠════════╬══════════╬════════════════════════╣ 
║ Dollar ║  50 ║ 2.3.2016 ║ -10  ║ 
║ Bound ║  110 ║ 2.3.2016 ║ 10  ║ 
║ Euro ║  580 ║ 3.3.2016 ║ -20  ║ 
╚════════╩══════════╩════════════════════════╝ 
+0

gerçek soru nedir son fiyat ve fiyat farkı ile her türünden bir öğe göstermesi gerekir? –

+0

Üzgünüm, şimdi görebiliyorsunuz – gaidi

+0

Şimdiye kadar neler denediniz? Eğer cevap "kayboldum" düşünmekten başka bir şey değilse, o zaman sizin için bunu yapmak için bir programcı tutmanız gerekir. –

cevap

0
select name as 'Item', 
     price as 'Price', 
     (select max(date) from table where name like '%dollar%') as 'Date', 
     (select top 1 price from table where name like '%dollar%') - (select top 1 price from table where id< (select max(id) from table where name like '%dollar%')and name like '%dollar%' order by id desc) as 'difference' 
     from table where name like '%dollar%' 
union all --now just repeat the code above and switch the like as you want 
select name as 'Item', 
     price as 'Price', 
     (select max(date) from table where name like '%bound%') as 'Date', 
     (select top 1 price from table where name like '%bound%') - (select top 1 price from table where id< (select max(id) from table where name like '%bound%')and name like '%bound%' order by id desc) as 'difference' 
     from table where name like '%bound%' 
+0

Bu yavaş bir sorgu xD olacak, hızlı bir programcı – Lucas

+0

işe yaramadı eğer işe yaramadı. – gaidi

İlgili konular