2013-05-01 106 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