Sql 如何获取以下不同查询的唯一ID?

Sql 如何获取以下不同查询的唯一ID?,sql,sql-server,Sql,Sql Server,我有这张桌子: id | description | URL | role 1 | desc_1 | url_1 | 1 2 | desc_1 | url_1 | 2 3 | desc_2 | url_2 | 1 4 | desc_2 | url_2 | 2 我想得到以下结果 id | description | URL 1 | desc_1 | url_1 3 | desc_2 |

我有这张桌子:

id | description | URL    | role 
1  | desc_1      | url_1  | 1 
2  | desc_1      | url_1  | 2 
3  | desc_2      | url_2  | 1
4  | desc_2      | url_2  | 2
我想得到以下结果

   id | description | URL 
   1  | desc_1      | url_1
   3  | desc_2      | url_2
我已经试过了,但是没有用

SELECT DISTINCT(description), id FROM table GROUP BY description
取决于您想要更高的id还是最低的id


取决于您想要更高或最低的id。

使用MIN子句获得结果:

 SELECT MIN(id),description,URL
 FROM table GROUP BY description,URL

使用MIN子句获得结果:

 SELECT MIN(id),description,URL
 FROM table GROUP BY description,URL

GROUPBY子句通常与聚合函数一起使用。SQL中有五个聚合函数<代码>最小值,
最大值
计数
总和
平均值
。在您的情况下,您可以使用
MIN
MAX
功能来完成您的工作

 select MIN(id),descritpion,URL from table GROUP BY description , URL


GROUPBY子句通常与聚合函数一起使用。SQL中有五个聚合函数<代码>最小值,
最大值
计数
总和
平均值
。在您的情况下,您可以使用
MIN
MAX
功能来完成您的工作

 select MIN(id),descritpion,URL from table GROUP BY description , URL


DISTINCT不是一个函数!!!它是
SELECT DISTINCT
的一部分,作用于整个选定行。写
选择不同的描述,id
,以避免混淆!!!此外,您很少会同时选择DISTINCT和GROUP BY。@jarlh该操作甚至可能没有很好的定义,因为通常
DISTINCT
本身是使用
GROUP BY
实现的。DISTINCT不是一个函数!!!它是
SELECT DISTINCT
的一部分,作用于整个选定行。写
选择不同的描述,id
,以避免混淆!!!此外,您很少不会同时选择DISTINCT和GroupBy。@jarlh该操作甚至可能没有很好的定义,因为通常
DISTINCT
本身是使用
GroupBy
实现的。从部分忘记。从部分忘记。虽然此代码片段可以解决问题,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,而这些人可能不知道您的代码建议的原因。虽然此代码片段可以解决问题,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。
 select MIN(id),descritpion,URL from table GROUP BY description , URL
 select MAX(id),descritpion,URL from table GROUP BY description , URL