Use HAVING Clause.
sql Code:
  1. select DisTable.*,s_name,fun_count(x_items) as myItems
  2. from DisTable,UserTable
  3. where DisTable.Name=s_name
  4. GROUP BY DisTable.*,s_name --instead of *, you need to mention each column separately
  5. HAVING myItems > 0
The only glitch is if you have way too many columns, adding them to Group by clause could be cumbersome.

If fun_count() is user-defined function, another (possible) way could be that you can let it return records based on the conditions you want to put here. E.g. In your example, let it send you all records which will be greater than 0. Just a guess though. I don't know how this function looks like.