2013-05-01 78 views
2

我尝试选择不同的,列在我的表评论“内容”,mysql:在表中选择不同的列?

它工作时,我这样做:

function get_new_reviews() { 
      global $connection; 
      global $_SESSION; 
      $query = "SELECT DISTINCT r.content 
         FROM ptb_reviews r, ptb_profiles p 
         WHERE r.to_user_id =".$_SESSION['user_id']." 
         AND r.deleted = '0' 
         AND r.read_review = '0' 
         AND r.approved = '0' 
         AND r.from_user_id != '0' 
         ORDER BY r.date_added DESC 
         LIMIT 0, 14"; 


         $reviews_set = mysql_query($query, $connection); 
      confirm_query($reviews_set); 
      return $reviews_set; 
     } 

,但我还需要列

r.from_user_id, p.display_name, r.id reviews_id, r.date_added 

当我尝试并将它们添加到它有很多相同的内容向下页面,有没有办法我可以只选择我的表中的所有字段,但只有不同的选择内容列?

感谢

+1

至少那些列必须改变之一;因此,您想要选择多个可能的值中的哪一个? – eggyal 2013-05-01 11:21:14

+1

我想选择所有的列,但设置列'内容'以选择不同的 – 2013-05-01 11:22:28

+0

你试过'GROUP BY'那个特定的列吗? – 2013-05-01 11:23:32

回答

0

我认为这是你在找什么伴侣:

SELECT * 
FROM (
    SELECT r.content, r.from_user_id, p.display_name, r.id reviews_id, r.date_added 
    FROM ptb_reviews r, ptb_profiles p 
    WHERE r.to_user_id =".$_SESSION['user_id']." 
     AND r.deleted = '0' 
     AND r.read_review = '0' 
     AND r.approved = '0' 
     AND r.from_user_id != '0' 
    GROUP BY r.content 
    LIMIT 0, 14 
) t1 
ORDER BY date_added DESC 
+0

该查询给出了不可预知的结果,当然不应该使用。选择不在group by语句中的非聚合列是错误的99,9%的时间。 – 2013-05-01 11:40:19

+0

固定!感谢那! – medina 2013-05-01 11:46:13

+0

这不会改变任何东西。如果有多个候选人,你仍然无法预测r.from_user_id将返回给定的r.content。 – 2013-05-01 12:08:03