我正在使用SQL Server数据库,并且有一个名为companiesData
的表,该表具有三列:id, name, projects
我想从id
和name
获取值,而没有重复的值。
表的内容:
| id | name | project |
| 1 | Company A | Project A |
| 2 | Company B | Project A |
| 3 | Company B | Project B |
| 4 | Company A | Project B |
如果我写:
select distinct name from companiesData;
查询返回:
| name |
| Company A |
| Company B |
但是就像我在一开始所说的,我想要来自同一表的两列的数据(我现在只有一个)。因此,我编写下一个查询以获取数据:
select distinct id, company from companiesData;
它返回:
| id | name |
| 1 | Company A |
| 2 | Company B |
| 3 | Company B |
| 4 | Company A |
所以,我也尝试过:
select id, company from companiesData group by id, company;
但是这将返回第二个查询的相同数据。在其他问题中,此问题的答案是使用distinct
或group by
,但这对我不起作用。
还有其他方法可以获取此数据吗?我在查询中错了吗?
谢谢。
答案 0 :(得分:1)
因此,您希望“公司A”在结果中出现一次,并带有其中一个ID,而您不在乎哪个?怎么样:
select min(id), company from companiesData group by company