从表中选择两个不同的列

时间:2016-02-04 11:49:57

标签: mysql sql select distinct

所以,有一个网站,用户添加宣传,在头版有最新的宣布,一些用户一天多次添加相同的宣布,所以我需要一个选择只显示用户一天宣布

我只需要在一天('日期')中从一个用户('创建者')宣布'id'。

我尝试了这个,但它没有按照我想要的方式工作(它获取所有列),任何人都有任何想法?

我的代码:

SELECT 
    DISTINCT least(creator, date) AS creator,
    greatest(creator, date) AS date,
    title AS product_title,
    id, 
    introimg, price,
    currency, 
    city, 
    shetanxmebit, 
    publish_date
FROM mar_home_main
WHERE introimg!="" AND publish=1 AND visible=1
ORDER BY publish_date DESC
LIMIT 20;

3 个答案:

答案 0 :(得分:0)

我认为你可以看一下[GROUP_CONCAT()]。这可能是您的解决方案的解决方法之一。点击here了解相关详细信息。

答案 1 :(得分:0)

所以,在阅读评论和编辑我的代码后,这个对我有用

'SELECT id, creator, date, title AS product_title, introimg,
                      price, currency, city, shetanxmebit, publish_date
               FROM mar_home_main
               WHERE introimg!="" AND publish=1 AND visible=1
               GROUP BY creator, date
               ORDER BY publish_date DESC
               LIMIT 20';

答案 2 :(得分:0)

通常,您需要使用子查询来获取每组记录的最新记录,然后将其连接回主表

$ php /Users/username/Sites/test.php