2012-05-15 38 views
0

當我在mysql查詢中使用Distinct函數時,我只能從表中獲取一列。這是我使用的示例查詢:當我們在mysql查詢中使用distinct時如何獲取其他列

SELECT DISTINCT (subcategory.title), common_cat. * FROM `subcategory` 
LEFT JOIN common_cat ON (subcategory.title = common_cat.ctitle) 

它返回如下記錄:

 title  mid  wid  ctitle 
     Tops   17  5  Tops 
     Dresses NULL NULL NULL 
     Pants/Shorts 18 6 Pants/Shorts 
     Skirts NULL NULL NULL 
     Swimwear 24 8 Swimwear 
     Outerwear  21 9 Outerwear 

在上面的數據「名稱」字段從子類來table.Now我也想獲得id列 從子類別表中。我如何得到這個。

+0

實際上,我正在通過使用此查詢從子類別表中除id列以外的所需結果 – user264341

回答

1

DISTINCT通過獲取您在表格行中提到的所有列的數據,然後過濾出重複的行並在ALL列中顯示具有相同值的唯一行來工作。

因此,您可以簡單地將column subcategory.id添加到列列表中,它將起作用。

SELECT DISTINCT subcategory.title, subcategory.id, common_cat.* FROM `subcategory` 
JOIN common_cat ON (subcategory.title = common_cat.ctitle) 

請注意,在一個不同的命令,它是不建議*用於拾取所有列作爲更多的列的數量在查詢中的多個負載的數據庫服務器,因此較慢輸出上。您可能只想提及不同列表中所需的列名,並從查詢中刪除common_cat。*。

相關問題