Your two phrasings of the problem are inconsistent, so I'm going to go with the first - You want the publishing dates of records published during the last six days.
That's not unlike the situation in this thread, with "6 days" substituted for "72 hours".
If you're storing the date using one of your database's date/time types, then it probably has functions for working with dates that would allow you to specify something like "WHERE age(pubdate)<=interval '6 days'" (in PostgreSQL syntax). If it's a text field, then you'll have to retrieve all of your records into PHP and use its date/time functions to test them.
The other phrasing is for the last six (distinct) publishing dates. That's just
SELECT DISTINCT pubdate FROM mytable WHERE ... ORDER BY pubdate DESC LIMIT 6