2012-11-07 56 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列輸出?