LIMIT 是前面查询结束之后才用
SELECT id, name, regexp_split_to_table(name, ',') AS new_name FROM table_name WHERE name ~ ',' LIMIT 1;
假设:name='张三,李四,王五',那么
SELECT id, name, regexp_split_to_table(name, ',') AS new_name FROM table_name WHERE name ~ ','
查询的结果有 3 行,加了LIMIT 1 之后就是取结果表的第一行,而不是说在原表中取一行。
若要全部取出,则需要将 LIMIT 1 包裹到括号里面(嵌套一层)。
SELECT id, name, regexp_split_to_table(name, ',') AS new_name FROM (SELECT id, name FROM table_name WHERE name ~ ',' LIMIT 1);
试想一下,下面这个SQL得到的结果是什么?
SELECT regexp_split_to_table('张三,李四,王五', ',') LIMIT 1;
从炸裂函数到 LIMIT
于 2022-11-21 09:47:34 首次发布