我正在尝试创建一个查询,该查询将输出列的计数,然后列出它计数的名称:
表1:license_granted
users checkout
Bob 2014-11-18 01:00:00
Steve 2014-11-18 01:00:00
Bob 2014-11-18 01:30:00
Chris 2014-11-18 01:30:00
Run Code Online (Sandbox Code Playgroud)
我能够计算并得到以下输出:
checkout_time ctUsers
2014-11-18 01:00:00 2
2014-11-18 01:30:00 2
SELECT COUNT(DISTINCT users) AS ctUsers, checkout
FROM license_granted
GROUP BY checkout
Run Code Online (Sandbox Code Playgroud)
我想得到的是:
checkout_time ctUsers userlist
2014-11-18 01:00:00 2 Bob,Steve
2014-11-18 01:30:00 2 Bob,Chris
Run Code Online (Sandbox Code Playgroud)
这可以在查询中完成吗?
谢谢
更新 11/20 好吧,我进一步挖掘并找到了一个解决方案,可以为我提供结帐时间和用户列表。现在我想弄清楚如何计算用户列表中的元素:
SELECT a.ctDate, SUBSTRING(d.users,1, LEN(d.users) - 1) usersList, count(d.users) AS ctUsers
FROM (
SELECT DISTINCT convert(varchar(10), deniedTime, 126) AS ctDate
FROM hyperworks_checkouts
) a
CROSS APPLY
(
SELECT …Run Code Online (Sandbox Code Playgroud)