VERTICA 数据库:- 如何获得名字和姓氏存储在单列中的 "first names" 的不同计数?

VERTICA Database :- how to get distinct count of "first names" where first name and last name are stored in single column?

我是 Vertica DB 的新手,遇到了问题。 它主要类似于 SQL 但我有一个客户 table

Customer Table 
NAME         | AGE   | SEX
JOHN KENY    |26     |M
JOHN CENA    |32     |M
JOHN MCCAIN  |35     |M
PETER PAN    |33     |M
SELENA GOMEZ |24     |F

现在我想在 vertica DB 上向 运行 查询输出以获取我不同的客户名字,即

NAME
JOHN
PETER
SELENA

我正在尝试 Vertica 中的 SPLIT_PART() 函数,但我无法正确执行查询

SELECT DISTINCT NAME FROM
  (SELECT SPLIT_PART(NAME,' ',1) from Customer );

给予

ERROR SYNTAX error at or near "Select"

我也试过了

SELECT SPLIT_PART(SELECT DISTINCT NAME FROM Customer,' ',1);

导致

ERROR SYNTAX error at or near "Select"

但是

SELECT SPLIT_PART('JOHN KENY',' ',1) ;

产出

JOHN

以下查询应该可以完成工作:

select distinct SPLIT_PART(NAME,' ',1) from Customer

但是请注意,这是脆弱的。如果这是一个生产环境(而不是一个简单的练习),我敢打赌您最终会得到包含空格的名称,这会破坏您的查询。