显示语法错误,错误代码:1064 near with'court\u items as(select date\u trunc('month',u.created\u at)::date as court from

7eumitmz  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(370)

答复:
错误代码:1064。sql语法有错误;请查看与您的mysql服务器版本对应的手册,以获得正确的语法,以便在第1行使用“court\u items as(select month(u.created\u at)as court”
这是显示错误的代码:

-- - users (id, created_at)
WITH cohort_items AS (
SELECT month(U.created_at) AS cohort_month,
       id AS user_id
FROM public.users U ORDER BY 1,2)

我试图找出语法错误,但没有成功。请帮我找出哪里做错了。

tjvv9vkg

tjvv9vkg1#

v8之前的mysql不支持 WITH . 它也不支持 date_trunc() . 您可以使用以下方法获得每月的第一天:

SELECT (DATE(u.created_at) - INTERVAL (1 - DAY(u.created_at)) DAY) as cohort_month

我不确定 WITH is支持,因此您的查询可能有其他错误。如果是这样的话,那么再问另一个问题,因为这个问题是关于 DATE_TRUNC() .

shyt4zoc

shyt4zoc2#

date\u trunc不是mysql函数,可以使用date或date\u format()
你可以用这个-

SELECT date(U.created_at) AS cohort_month,
               id AS user_id
       FROM public.users U
       ORDER BY 1,2

SELECT DATE_FORMAT(U.created_at,'%d-%b-%Y') AS cohort_month,
                   id AS user_id
           FROM public.users U
           ORDER BY 1,2

相关问题