Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come faccio a chiamare una funzione definita dall'utente da utilizzare con seleziona, raggruppa per, ordina per?

Puoi unirti al tuo tavolo come una vista e chiamare la tua funzione lì. In questo modo puoi chiamare il gruppo e ordinare per sulla colonna dalla vista.

select
    Count(Page) as VisitingCount,
    [Time]
from
(
    SELECT
        Page,
        Date,
        [user],
        dbo.fn_GetActivityLogsArranger(CONVERT(VARCHAR(5),Date, 108)) as [Time]
    FROM
        scr_SecuristLog
) scr_SecuristLog2
where
    Date between '2009-04-30' and '2009-05-02'
and
    [user] in
(
    select
        USERNAME
    from
     scr_CustomerAuthorities
    where
        customerID=Convert(varchar,4)
    and
        ID=Convert(varchar,43)
)
group by
    [Time]
order by
    [Time] asc