在SQL查询中使用Distinct

时间:2013-09-25 14:07:07

标签: mysql sqlite

请查看以下查询:

SELECT DISTINCT 
        reco_index_content_code,
        reco_index_content_name,
        reco_index_content_url
    FROM tbl_reco_index_contents
    WHERE
        reco_index_user_action_at_select = 1
        AND user_profile_number = 1

我需要选择reco_index_content_name作为区别。

为了实现这一点,应该如何修改上述查询,以便没有重复的reco_index_content_name行?

1 个答案:

答案 0 :(得分:1)

记录标准解决方案并使用不相关的子查询,如下所示:

SELECT x.* 
  FROM my_table x
  JOIN 
     ( SELECT grouping_id
            , MIN(ordering_id) min_ordering_id 
         FROM my_table 
        GROUP 
           BY grouping_id  
     ) y
    ON y.grouping_id = x.grouping_id
   AND y.min_ordering_id = x.ordering_id;