2012-11-07 54 views
0

我有表pro这样的:SQL选择行只有一次

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只有一次?

+0

您可以加入你使用表中的一些详细信息,如创建语句? (我假设SELECT DISTINCT类应该完全按照你的要求) –

+0

你的问题不是sql语句 – frayab

回答

3

使用GROUP BY

SELECT * FROM pro GROUP BY `category` 
+0

只返回f和c没有m – user1612293

+0

@ user1612293你是如何使用它的? http://sqlfiddle.com/#!2/07e82/2返回'm','f','c'。 – alexn

+0

我认为@alexn答案和我的校正。另外SELECT类别FROM pro GROUP BY类别必须返回m,f和c。这个问题可能在你的php代码 – frayab

2
select category from pro group by category 
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列输出?