我尝试创建SQL查询以获取具有某些条件的特定实体。问题是我有一些我想避免的重复实体。 我的数据表(表代表驱动程序)是:
我希望得到一些具有特定设施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)
有什么想法吗? 谢谢!
答案 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'。