主键检测

时间:2012-06-21 19:05:36

标签: sql-server oracle sql-server-2008

我已将数据导入数据库。

病人(pt_id,pt_name,pt_type,pt_loc)

现在,我想找到哪些主要(具有唯一)值。

我能找到的任何方式都是

     select count(pt_id) from patient
     select count(distinct pt_id) from patient

将返回相同的值

任何输入都会很棒:)

感谢!!!

1 个答案:

答案 0 :(得分:4)

确定列是否仅包含唯一值的单遍方法是:

SELECT pt_id, COUNT(pt_id) from patient
GROUP BY pt_id
HAVING COUNT(pt_id) > 1

如果你得到了结果,那就不是唯一的了。您可能还想检查空值:

SELECT * from patient
WHERE pt_id is NULL