generate_series из Postgres какой аналог у Mysql?

у меня есть самописный запрос на Postgresql и я начал пробовать переписывать его под MySql и столкнулся с проблемой, что не могу найти аналога как например для DISTINCT в Postgresql ndv() в MySql

WITH params AS ( SELECT date_ :: DATE FROM generate_series ( CURRENT_DATE - 9, CURRENT_DATE, INTERVAL '1 DAY' ) AS date_ ),

user_data as (

SELECT
"row_number"() OVER() as date_number,
    params.date_,
    "count"(DISTINCT fh_user."id") as user_count

FROM
    fh_user
    CROSS JOIN params
    WHERE fh_user.date_created  BETWEEN CURRENT_DATE - 9 AND CURRENT_DATE 
    GROUP BY   params.date_
    ORDER BY 1
    ),
    

download_data as (

SELECT 
"count"(DISTINCT fh_user_download.user_id) as downloaded_user_count,

fh_user_download."date"

FROM fh_user
LEFT JOIN fh_paid on fh_paid.user_id = fh_user.id and fh_paid.data_paid BETWEEN CURRENT_DATE - 9 AND CURRENT_DATE
LEFT JOIN fh_user_download  on fh_user_download.user_id = fh_user.id and fh_user_download.date BETWEEN CURRENT_DATE - 9 AND CURRENT_DATE
WHERE
fh_user_download."date" = fh_paid.data_paid
and 
fh_user.date_created BETWEEN CURRENT_DATE - 9 AND CURRENT_DATE

-- fh_user_download."date" <= fh_paid.data_paid + fh_paid.daysadd GROUP BY fh_user_download."date" )

SELECT user_data.date_number,
download_data.downloaded_user_count/user_data.user_count as retention

FROM user_data
LEFT JOIN download_data on user_data.date_ = download_data."date"

Ответы (0 шт):