Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
Randjana
Starting Member
9 Posts |
Posted - 2011-05-16 : 13:15:23
|
| hi all,i have a table with serials.exmaple:apples 459786apples 459787apples 459788apples 459789bananas 458923bananas 458924bananas 458925bananas 458926bananas 458927my query result should be4, apples, begin_serial = 459786 ,end_serial = 4597895 ,bananas, begin_serial = 458923, end_serial = 458927is it possible to achieve this with a query?Any help will be appreciated.kind regards,Randjana |
|
|
sunitabeck
Master Smack Fu Yak Hacker
5155 Posts |
Posted - 2011-05-16 : 13:17:54
|
| [code]SELECT COUNT(*), fruit_name, MIN(serial_no), MAX(serio_no) FROM yourTable GROUP BY fruit_name[/code] |
 |
|
|
Randjana
Starting Member
9 Posts |
Posted - 2011-05-16 : 13:26:52
|
| Thanks for the quick reply.but what in case if i have another range op apples.exmaple:apples 459786apples 459787apples 459788apples 459789bananas 458923bananas 458924bananas 458925bananas 458926bananas 458927apples 439788apples 439789result should be :4, apples, begin_serial = 459786 ,end_serial = 4597895 ,bananas, begin_serial = 458923, end_serial = 4589272, apples, begin_serial = 439788 ,end_serial = 439789thanks in advance. |
 |
|
|
sunitabeck
Master Smack Fu Yak Hacker
5155 Posts |
Posted - 2011-05-16 : 13:40:02
|
I am assuming you are on SQL 2005 or higher. If so, ;WITH cte AS(SELECT *, serial_no - ROW_NUMBER() OVER (PARTITION BY fruit_name ORDER BY serial_no) AS grp_noFROM fruit_table)SELECT COUNT(*), fruit_name, MIN(serial_no), MAX(serial_no)FROM cteGROUP BY fruit_name, grp_no |
 |
|
|
Randjana
Starting Member
9 Posts |
Posted - 2011-05-16 : 14:39:11
|
| Many Many thanks!! It worked! |
 |
|
|
sunitabeck
Master Smack Fu Yak Hacker
5155 Posts |
Posted - 2011-05-16 : 19:40:20
|
| Glad it did, and you are quite welcome!! |
 |
|
|
|
|
|
|
|