[英]Finding value in a comma-separated text field in MySQL?
我有一個游戲類型數據庫,游戲數據庫中的流派字段具有唯一的ID,以逗號分隔。 這是一個文本字段。 例如: HALO 2 - cat_genre => '1,2' (Action,Sci-Fi)
我正在嘗試創建一個計算該類型游戲總數的函數。 因此,它將1值與數據庫中用逗號分隔的多個值進行匹配。
我正在使用SELECT * FROM gh_game WHERE cat_genre IN (1)
,它將找到動作游戲。
我正在嘗試解決這個問題,我以為以前已經釘過一次,但我只是想不通。
您需要創建多對多關系。 像這樣
CREATE TABLE gameGenreTable ( id int NOT NULL PRIMARY KEY, genreID, gameID)
編輯:如果您使用的是InnoDB,您還可以在genreID和gameID上創建外鍵。我將在genreID,gameID上添加唯一鍵
那么你可以這樣查詢
SELECT genreID,count(genreID) as count from gameGenreTable GROUP BY genreID;
-並加入其他表格以獲取類型名稱(或僅使用ID)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.