我有以下的用戶數據庫,每個用戶可以在不同的級別上講不同的語言。統計整套數據庫中唯一元素的數量
id langs
12 EN-21
36 EN-2,RU-3
41 EN-9
57 DE-35,EN-28
60 DE-9,RU-14
我想創建MySQL查詢計數每一種語言的出現無論的水平。 所需的選項卡應該是這樣的:
lang count
EN 4
DE 2
RU 2
我已經嘗試過的這種不同的組合,但它完美的遠。
SELECT
DISTINCT SUBSTRING_INDEX(langs, '-', 1) AS lang,
-- COUNT(langs) as count
-- SUM(
-- (SELECT DISTINCT SUBSTRING_INDEX(langs, '-', 1)
-- FROM people
-- WHERE langs != '')
-- )
FROM people
WHERE langs != ''
-- GROUP BY lang
ORDER BY lang
應重新組織表'people' – triclosan
是語言固定值的計數?我在這裏只看到3 – triclosan
如果我有另一行爲'EN-32,EN-45'那麼如果計算EN會是5還是6? –