SQL只选择行一次

时间:2012-11-07 15:04:11

标签: php mysql

我有这样的表pro

id    category   details
1         f        weqweq
2         m        dqweq
3         f        xcxzc
4         m        eqweqw
5         f        asweq
6         c        xzsda

现在,如果我尝试这样的话:

SELECT DISTINCT category FROM pro

我只获得mc

如果我尝试:

  SELECT category FROM pro GROUP BY category

我只获得fc

我如何查询才能获得所有m,f,c一次?!

4 个答案:

答案 0 :(得分:3)

使用GROUP BY

SELECT * FROM pro GROUP BY `category`

答案 1 :(得分:2)

select category from pro group by category

答案 2 :(得分:2)

这是PHP实现中的一个问题。

您的查询将获得所有类别。

SELECT DISTINCT category FROM pro

看看这里:

http://sqlfiddle.com/#!2/b81e0/2

答案 3 :(得分:1)

尝试这个,

SELECT  a.*
FROM    pro a
        INNER JOIN
        (
            SELECT  category, MIN(details) minDetail
            FROM    pro
            GROUP BY    category
        ) b ON a.category = b.category AND
                a.details = b.minDetail

后续问题:details列的输出结果是什么?