You are here: Re: SQL a range in the all dataset « MsSQL Server « IT news, forums, messages
Re: SQL a range in the all dataset

Posted by Ed Murphy on 02/02/07 03:46

AlterEgo wrote:

> "Wei ZOU" <wzou@ucdavis.edu> wrote in message
> news:epu263$l7n$1@skeeter.ucdavis.edu...

>> I have a dataset of two columns:
>> price amount
>> 99.5 10000
>> 99.7 8000
>> 100 3000
>> 100.1 1000
>> 100.5 500
>> 100.8 1500
>> 105 2000
>> 200 100
>> etc
>> I have to write a SQL query on how many price tags are within [price+-1]
>> such as 98.5 to 100.5, 100+-1,etc for each records.
>> Here I know the price tags counts are 5 for 99.5-100.5, 5 for
>> 99.7-100.7, 6 for 99-101, etc
>> How should I do for all of the records?

> create table #MyTable (Price decimal(9,2), Amount int)
>
> insert #MyTable select 99.5, 10000
> insert #MyTable select 99.7, 8000
> insert #MyTable select 100, 3000
> insert #MyTable select 100.1, 1000
> insert #MyTable select 100.5, 500
> insert #MyTable select 100.8, 1500
> insert #MyTable select 105, 2000
> insert #MyTable select 200, 100
>
> select
> cast(Price + .5 as int) Price
> , sum(Amount) SumOfAmount
> from #MyTable
> group by
> cast(Price + .5 as int)
> order by
> cast(Price + .5 as int)

(Please don't top-post. Fixed.)

This is wrong in a couple ways. Steve's attempt is wrong in a couple
other ways. I believe this matches the original specs:

select a.Price, count(b.Amount) TagCount
from #MyTable a
join #MyTable b on abs(a.Price - b.Price) <= 1.0
group by a.Price
order by a.Price

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация