我有一个SQL数据库,其中包含使用某软件的机器和用户的日志数据。 我需要创建一个查询,以显示某一天(今天)中的所有连接并将其按年份级别分组。
WindowsLogs表:
Date
Time
Username
Year
AppV
IPaddress
MAC
DeviceName
Antivirus
5gigCompat
据我所知:
select WindowsLogs.Year,count(*)
From WindowsLogs
Where WindowsLogs.Date=cast(convert(varchar(10), getdate(), 105) as datetime)
group by WindowsLogs.Year
我目前得到这个:
Year | no name
7 | 5
8 | 2
11 | 3
但是理想情况下,我希望这样显示数据:
Year 07 | XX
Year 08 | XX
Year 09 | XX
Year 10 | XX
Year 11 | XX
Year 12 | XX
答案 0 :(得分:0)
大概,您似乎想要一个left join
,像这样:
select v.str, count(wl.year)
from (values ('Year 07', 7),
('Year 08', 8),
('Year 09', 9),
('Year 10', 10),
('Year 11', 11),
('Year 12', 12)
) v(str, yr) left join
WindowsLogs wl
on wl.date = convert(date, getdate()) and
wl.year = v.yr
group by v.str
order by v.str;
答案 1 :(得分:0)
使用以下内容修复了该问题:
SELECT (SELECT COUNT(*) AS NumberOfTransactions
FROM WindowsLogs
WHERE WindowsLogs.Date=cast(convert(varchar(10), getdate(), 105) as datetime)
and WindowsLogs.Year = 7) as Year7today;
并继续每年的水平
答案 2 :(得分:0)
使用$q = Get-Content -Path .\file.txt |Select-String 'Hello' -SimpleMatch
$w = Get-Content -Path .\file.txt |Select-String 'new' -SimpleMatch
$e = Get-Content -Path .\file.txt |Select-String 'World' -SimpleMatch
$r = Get-Content -Path .\file.txt |Select-String 'Hi' -SimpleMatch
$t = Get-Content -Path .\file.txt |Select-String 'greet' -SimpleMatch
和CONCAT
FORMAT