從多個表中進行選擇時,由於連結列中的值匹配,經常會遇到重複行。在這種情況下,您可能需要消除這些重複項,同時保留特定資訊。
問題陳述:
以下查詢從「drinks」和「drinks_photos」擷取資訊"表格:
SELECT name, price, photo FROM drinks, drinks_photos WHERE drinks.id = drinks_id
但是,對於每種飲料,會出現多個照片條目,從而導致重複的行。所有照片的唯一行。 >解:
要解決此問題,為了保持資料完整性,我們可以在查詢中使用分組和聚合函數。 🎜>
GROUP BY:將指定列中具有相同值的行進行分組。 COUNT、MAX、MIN)以檢索單一行
在這種情況下,我們可以按「drinks_id」欄位分組,以獲得每種飲料的唯一行。說明:
每種飲料現在只有一杯行。 🎜>註:SELECT name, price, GROUP_CONCAT(photo SEPARATOR ',') AS all_photos FROM drinks, drinks_photos WHERE drinks.id = drinks_id GROUP BY drinks_id
以上是MySQL從多個表中選擇時如何消除重複行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!