2013-07-16 62 views
2

其相應的值I具有其中我用下面的代碼從該柱獲得的不同值的數據庫中的列MYSQL選擇從DISTINCT值和列,並從另一

"SELECT DISTINCT category FROM galleryinfo" 

我與另一列相關圖像的路徑。

所以我的問題是如何從類別中獲得唯一/不同的值,並從另一列中獲取相應的路徑。

在此先感謝您的幫助。

id path   category 
1  img1   car 
2  img2   car 
3  img3   truck 
4  img4   truck 
5  img5   bike 

我需要的結果將是

img1 car  
img3 truck 
img5 bike 
+0

如果路徑與類別不同,只需使用'SELECT DISTINCT類別,路徑FROM galleryinfo'。如果這不符合您的需求,請發佈一些示例數據和預期結果。 –

+0

我已經嘗試過,但是由於每條路徑都是唯一的,因此它會顯示路徑列中的所有值 –

+0

將示例數據添加到所需的結果集中 –

回答

1

您可以按不同的類別使用GROUP BY查詢,以減少結果的一行:

SELECT category, path FROM galleryinfo GROUP BY category 

的問題,這是它是任意的其中路徑此查詢返回。事實上,在大多數SQL實現中,這是非法查詢並導致錯誤。 MySQL比較寬鬆,但它會從與類別相匹配的路徑返回任意路徑(實際上,它會從第一行選擇與物理存儲相關的路徑,但這沒有記錄或保證)。

您可以選擇MIN(path)MAX(path),或者將每個類別的所有路徑連接成一個字符串與GROUP_CONCAT(path),但就是這樣。