1
カンマ区切りの値をこのようにカウントする方法が必要です - すべて 提案してください。コンマで区切られた文字列の数をカウントする
表:
id (int) | site (varchar)
1 | 1,2,3
2 | 2,3
3 | 1,3
所望の出力:
site | # of occurrences
1 | 2
2 | 2
3 | 3
カンマ区切りの値をこのようにカウントする方法が必要です - すべて 提案してください。コンマで区切られた文字列の数をカウントする
表:
id (int) | site (varchar)
1 | 1,2,3
2 | 2,3
3 | 1,3
所望の出力:
site | # of occurrences
1 | 2
2 | 2
3 | 3
あなたがやっている正確に何に入るがなければ、私はあなたがsites
テーブルを持っていると仮定します。もしそうであれば、インデックスを使用する方法がないとして、それは、ぞっとするだろうというの
SELECT sites.site_id AS site, COUNT(1) AS `# of occurrences`
FROM sites
INNER JOIN table ON FIND_IN_SET(sites.site_id, table.site)
GROUP BY sites.site_id
パフォーマンスのようなもので、技術的に達成可能だし、データが非常に簡単に矛盾得ることができるようになります。代わりにコンマ区切りのリストを格納する、あなたが各「出現」
1.ドン」の行を保存
あなたの質問にコメントををほのめかしている何を、いくつかの説明のリレーショナルテーブルを使用することで、コンマで区切られた文字列で始まります。 – Strawberry
、またはRDBMSを気にしないでください – Strawberry
http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that-bad/3653574 – e4c5