Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 具有主键列的独立列_Sql_Distinct - Fatal编程技术网

Sql 具有主键列的独立列

Sql 具有主键列的独立列,sql,distinct,Sql,Distinct,在Select查询中添加主键列时,Distinct列计数不同 供应商付款条件的计数为110,但添加PK列时,计数更改为数千 select distinct supplier, unique_id from indirect_spend; 在select中包含PK列时,我期望相同的记录计数为110。Select必须只包含供应商的唯一id。“我希望在Select中包含PK列时,记录计数为110” 那你就错了。选择DISTINCT可使结果中出现的所有行都是不同的,即结果中没有重复的行 此外。想象两

在Select查询中添加主键列时,Distinct列计数不同

供应商付款条件的计数为110,但添加PK列时,计数更改为数千

select distinct  supplier, unique_id from indirect_spend;

在select中包含PK列时,我期望相同的记录计数为110。Select必须只包含供应商的唯一id。

“我希望在Select中包含PK列时,记录计数为110”

那你就错了。选择DISTINCT可使结果中出现的所有都是不同的,即结果中没有重复的


此外。想象两行(供应商id唯一id)(12)和(15)。你说你只期望结果中有一行。系统将如何确定两行中的哪一行要传递?

您可以使用聚合来获取示例主键:

select supplier, min(unique_id), max(unique_id)
from indirect_spend
group by supplier;

因此,您在110家供应商的
供应商付款条款中有数千条记录。也许你希望有110次付款?这个表实际上包含什么?我得到了select distinct中记录的唯一ID。谢谢你,帮了大忙。我也得到了和我的电脑一样多的行数。令人惊叹的