SQL选择条件而不重复

时间:2018-01-09 15:24:02

标签: sql database select group-by datatables

我尝试创建SQL查询以获取具有某些条件的特定实体。问题是我有一些我想避免的重复实体。 我的数据表(表代表驱动程序)是: enter image description here

我希望得到一些具有特定设施ID /停车位ID条件的司机。 例如,如果我想要ID为' 2'的设施中的所有司机,我想得到:

11112 Michael Smith

而不是:

11112 Michael Smith
11112 Michael Smith

我希望停车场ID和设施ID一起发生同样的事情。

我试过了:

SELECT * FROM "DRIVERS" 
where facilityid = '2'
group by driverid

我收到了一个错误:

Could not execute 'SELECT * FROM "DRIVERS" where facilityid = '2' group by driverid'
invalid column name: The column 'DRIVERS.FIRSTNAME' is invalid in the select list because the GROUP BY clause or an aggregation function does not contain it: line 1 col 8 (at pos 7)

有什么想法吗? 谢谢!

2 个答案:

答案 0 :(得分:2)

如果您只想从表中获取不同的值,请执行以下操作:

SELECT DISTINCT *
FROM "DRIVERS"
WHERE facilityid = '2';
在汇总数据时应使用

GROUP BY

编辑: 要获得您要求的结果,可以使用:

SELECT DISTINCT DRIVERID, FIRSTNAME, LASTNAME
FROM "DRIVERS"
WHERE facilityid = '2';

答案 1 :(得分:0)

你将获得这个查询的结果。 选择distinct(DRIVERID),FIRSTNAME,LASTNAME FROM“DRIVERS”,其中facilityid ='2'。