if you're on sql 2005 or above you can use like
SELECT Billnumber,Seq AS LineItem
FROM
(
SELECT Billnumber,ROW_NUMBER() OVER (PARTITION BY Billnumber ORDER BY (SELECT NULL)) AS Seq
FROM table
)t
if sql 2000 this is one way
CREATE TABLE #temp
(
ID int IDENTITY(1,1),
Billnumber int
)
INSERT #Temp (Billnumber)
SELECT Billnumber
FROM table
ORDER BY Billnumber
SELECT Billnumber,
COALESCE((SELECT COUNT(*) FROM #Temp WHERE Billnumber = t.Billnumber AND ID < t.ID),0)+1 AS LineItem
FROM #temp t
DROP Table #temp
------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/