我正在编写用于检查在员工表中出现多次的任何电话号码的代码。在这种情况下,不同的人可能具有相同的电话号码,我希望对其进行标记。
<table style="height: 234px;" width="735">
<tbody>
<tr>
<td style="width: 114px;"><span style="text-decoration: underline;"><strong>First name</strong></span></td>
<td style="width: 114px;"><span style="text-decoration: underline;"><strong>Last Name</strong></span></td>
<td style="width: 116px;"><span style="text-decoration: underline;"><strong>Main Phone</strong></span></td>
<td style="width: 117px;"><span style="text-decoration: underline;"><strong>Work Phone</strong></span></td>
<td style="width: 117px;"><span style="text-decoration: underline;"><strong>Mobile 1</strong></span></td>
<td style="width: 117px;"><span style="text-decoration: underline;"><strong>Mobile 2</strong></span></td>
</tr>
<tr>
<td style="width: 114px;">Jon</td>
<td style="width: 114px;">Smith</td>
<td style="width: 116px;">77777777</td>
<td style="width: 117px;">50505050</td>
<td style="width: 117px;"> </td>
<td style="width: 117px;"> </td>
</tr>
<tr>
<td style="width: 114px;">J </td>
<td style="width: 114px;">Smith</td>
<td style="width: 116px;"> </td>
<td style="width: 117px;"> </td>
<td style="width: 117px;"> </td>
<td style="width: 117px;"> </td>
</tr>
<tr>
<td style="width: 114px;">John </td>
<td style="width: 114px;">Smith</td>
<td style="width: 116px;">50505050</td>
<td style="width: 117px;"> </td>
<td style="width: 117px;"> </td>
<td style="width: 117px;"> </td>
</tr>
<tr>
<td style="width: 114px;">J Smith</td>
<td style="width: 114px;"> </td>
<td style="width: 116px;"> </td>
<td style="width: 117px;">77777777</td>
<td style="width: 117px;"> </td>
<td style="width: 117px;">50505050</td>
</tr>
<tr>
<td style="width: 114px;">Jane</td>
<td style="width: 114px;">Smith</td>
<td style="width: 116px;"> </td>
<td style="width: 117px;"> </td>
<td style="width: 117px;"> </td>
<td style="width: 117px;">77777777</td>
</tr>
<tr>
<td style="width: 114px;">J</td>
<td style="width: 114px;">Doe</td>
<td style="width: 116px;">65656565</td>
<td style="width: 117px;"> </td>
<td style="width: 117px;"> </td>
<td style="width: 117px;">33333333</td>
</tr>
<tr>
<td style="width: 114px;">Jessica</td>
<td style="width: 114px;">Doe</td>
<td style="width: 116px;"> </td>
<td style="width: 117px;">33333333</td>
<td style="width: 117px;">65656565</td>
<td style="width: 117px;"> </td>
</tr>
</tbody>
</table>
我尝试使用以下代码搜索两次出现的任何数字,但均未成功,并寻求您的建议。
Select firstname, lastname, mainPhone, count(mainPhone), workPhone,count(businessPhone), mobile1Phone, count(mobilePhone) , mobile2Phone, count(mobile2Phone)
from employeeTable
group by mainPhone, businessPhone, mobile1Phone, mobile2Phone
having
(count(mainPhone) > 1) or (count(businessPhone) > 1) or (count(mobile2Phone) > 1) or (count(mobile2Phone) > 1);
答案 0 :(得分:1)
您可以尝试类似的事情。
SELECT
phone,
GROUP_CONCAT(`uniqueKey`) AS `uniqueKeys`,
COUNT(*)
FROM
(
SELECT
id AS `uniqueKey`,
'mainPhone' AS source,
mainPhone AS `phone`
FROM
employeeTable
UNION
SELECT
id AS `uniqueKey`,
'businessPhone' AS source,
businessPhone AS `phone`
FROM
employeeTable
UNION
SELECT
id AS `uniqueKey`,
'mobile1Phone' AS source,
mobile1Phone AS `phone`
FROM
employeeTable
UNION
SELECT
id AS `uniqueKey`,
'mobile2Phone' AS source,
mobile2Phone AS `phone`
FROM
employeeTable
) AS subquery1
GROUP BY phone
首先,使用由UNION
连接的不同语句,您可以创建类似于应答视图的内容。可以分组并计数。我假设存在某种唯一或主键,例如ID或登录名或类似名称。