可能是一个非常简单的问题,但我现在还没有得到它。开始了: 我有一张桌子
id | lang1 | sth | sth2
1 | "one" | "x" | "y"
1 | "one" | "x" | "y"
2 | "two" | "y" | "z"
1 | "one" | "x" | "y"
3 | "three"| "z" | "a"
我需要一个SELECT,它给了我一切没有重复的东西。
1 | "one" | "x" | "y"
2 | "two" | "y" | "z"
3 | "three"| "z" | "a"
所以可能像(伪代码,不起作用,只是为了这个想法)
SELECT id, lang1, sth, sth2 FROM tbl GROUP BY id, lang1
OR
SELECT DISTINCT(id, lang1), sth, sth2 FROM tbl
谢谢, 贝恩德
答案 0 :(得分:6)
简单明了DISTINCT
会做
SELECT DISTINCT id, lang1, sth, sth2
FROM tbl
DISTINCT(id, lang1)
无法正常工作,因为DISTINCT
是关键字,而非功能。 SQL中的函数调用有括号。
答案 1 :(得分:3)
DISTINCT
适用于所有expression/column
,因此请使用
select distinct id, lang1, sth, sth2
from table t;
但是,只要您必须找到相同的值,就会应用GROUP BY
子句
所以,你可以表达
select id, lang1, sth, sth2
from table t
group by id, lang1, sth, sth2;