「スキル」を含む 2 つのテーブルがあり、最初のテーブルには従業員のスキルが含まれ、2 番目のテーブルには会社の「スキル」が含まれます。
テーブル従業員のスキル
CREATE TABLE `employee_skills` (
`e_id` int(8) NOT NULL,
`skill` int(8) NOT NULL,
`points` enum('0','25','50','75','100') COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`u_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
テーブルカンパニーのスキル
CREATE TABLE `company_skills` (
`c_id` int(8) NOT NULL,
`skill` int(8) NOT NULL,
`points` enum('0','25','50','75','100') COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`u_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
したがって、企業がスキル Windows で 100 ポイント、従業員が 25 ポイントの場合、一致率は 25% です。次のクエリを使用して結果を取得しています。
$result = $connection->prepare("select u_id, skill, points, COUNT(points) from employee_skills");
期待される結果は、特定のスキルと一致し、次のようなパーセンテージを返す必要があります。
スキル | マッチ
- 窓 | 25%
- Linux | Linux | ...%
- マック | ...%