簡體   English   中英

在MySQL中用逗號分隔的文本字段中查找值?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM