the DISTINCT key returns a unique row set.
It does not apply to the first column in your select statement, it is applied to all of the columns in your select statement. It will return data where the entire row in the recordset is distinct.
Instead of using distinct, you can use GROUP BY
SELECT column1, column2 FROM tblname GROUp BY column1
but actualy looking at your page, the real problem is that you are using 1 recordset for the 4 lists.
you should be using 4 recordsets, one for each list.
Using the same recordset for each list will not give the result you are looking for
Creaete a record set for each list. return only the column needed for that list and use DISTINCT