io ho questo codice (php calendar)

mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());
mysql_select_db(DB_NAME) or die(mysql_error());
$sql = "SELECT id, y, m, d, title, text, priv, TIME_FORMAT(start_time,
'%k:%i') AS stime, ";
$sql .= "TIME_FORMAT(end_time, '%k:%i') AS etime, " . DB_TABLE_PREFIX .
"users.uid, fname, lname ";
$sql .= "FROM " . DB_TABLE_PREFIX . "mssgs ";
$sql .= "LEFT JOIN " . DB_TABLE_PREFIX . "users ";
$sql .= "ON (" . DB_TABLE_PREFIX . "mssgs.uid = " . DB_TABLE_PREFIX .
"users.uid) ";
$sql .= "WHERE (y*10000+m*100+d) > ";
$sql .= "(YEAR(NOW())*10000+MONTH(NOW())*100+DAYOFMONTH(NO W())) ";
$sql .= "ORDER BY y, m, d, start_time LIMIT 3";
$result = mysql_query($sql) or die(mysql_error());

come posso costruire la query per dire di prelevare tutti gli id ma se ce ne
sono due o più che hanno title,y,m e d uguali di prelevarne solo uno e saltare
gli altri uguali che di diverso avrebbero solo il campo cat?

cioè mi dovrebbe stampare di 3 uguali uno a caso o il primo