私は、それぞれが異なるレベルで異なる言語を話すことができるユーザーの次のデータベースを持っています。
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