5

好的,我有一个包含数据的简单表:

id  cat_id  title  (with random values)

1    1       test  
2    1       tstt              
3    3       tewt           
4    2       4324            
5    3       rterter  

现在,我需要创建一个查询,每个类别(cat_id)只选择一个原始数据(可能具有最低 ID 并按 cat_id 排序)

所以结果应该是:

1    1     test                  
4    2     4324                              
3    3     tewt                   
4

2 回答 2

8

使用GROUP BY

SELECT MIN(id), cat_id, title FROM table GROUP BY cat_id
于 2013-07-30T13:06:21.820 回答
2
SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT  cat_id, MIN(id) id
            FROM    tableName
            GROUP   BY cat_id
        ) b ON a.cat_id = b.cat_id AND
                a.id = b.id
ORDER   BY a.cat_id
于 2013-07-30T13:06:00.233 回答