SQL,Select Distinct和Left in one

时间:2017-10-01 10:00:30

标签: mysql sql database

我想使用DISTINCTLEFT在SQL数据库中选择多个行。

以下是迄今为止的努力。

SELECT DISTINCT(alltext) LEFT(alltext, 100)
FROM programoversigter3
WHERE alltext LIKE '%kommunisme%'

2 个答案:

答案 0 :(得分:1)

DISTINCT是一个关键字 一个函数,您需要在每列之后使用,。所以,你的查询应该是

SELECT DISTINCT alltext, LEFT(alltext, 100)
FROM programoversigter3
WHERE alltext LIKE '%kommunisme%'

答案 1 :(得分:0)

select distinct是SQL中的一个子句,适用于所有所选列。它不是一种功能。

如果您想选择alltext的每个单独值以及前100个字符,那么您将使用:

SELECT DISTINCT alltext, LEFT(alltext, 100)
FROM programoversigter3
WHERE alltext LIKE '%kommunisme%';

出于某种原因,我认为你真的希望将distinct应用于前100个字符。如果是这样,您可以使用group by

SELECT LEFT(alltext, 100), MIN(alltext), MAX(alltext)
FROM programoversigter3
WHERE alltext LIKE '%kommunisme%'
GROUP BY LEFT(alltext, 100);