I usually break down the problem with CTE:s
WITH FirstZeroIndex AS (
SELECT Tag_Id
,MIN(inc_indx) AS ZeroIdx
FROM mytable
WHERE State = 0
GROUP BY Tag_Id
)
,LastNonZeroIndex AS (
SELECT mytable.Tag_Id
,MAX(mytable.inc_indx) AS NonZeroIdx
FROM mytable
LEFT JOIN FirstZeroIndex
ON myTable.Tag_Id = FirstZeroIndex.Tag_Id
WHERE FirstZeroIndex.ZeroIdx IS NULL -- If we want tags without zeros
OR mytable.inc_indx < FirstZeroIndex.ZeroIdx
GROUP BY mytable.Tag_Id
)
SELECT *
FROM LastNonZeroIndex
WHERE Tag_id = 999