好的我正在使用MS SQL,我有一个表格,其值如下:
ID Date Radio Time
111 4/1/09 1 3:00:00
111 4/1/09 2 4:00:00
111 4/1/09 3 14:00:00
111 4/1/09 1 15:00:00
111 4/1/09 3 16:00:00
222 4/1/09 2 2:00:00
222 4/1/09 1 5:00:00
222 4/1/09 1 19:00:00
333 4/1/09 1 3:00:00
333 4/1/09 2 5:00:00
333 4/1/09 2 13:00:00
333 4/1/09 3 17:00:00
Run Code Online (Sandbox Code Playgroud)
好的,我需要一个查询,其中:
window 1 < 12:00
13 < window 2 < 15:00
window 3 > 16:00
Run Code Online (Sandbox Code Playgroud)
要返还金额:
Window1 Window2 Window3
Radio 1: 3 0 2
Radio 2: 3 1 0
Radio 3: 0 1 2
Run Code Online (Sandbox Code Playgroud)
我已经尝试过使用count()但是我无法在正确的'收音机'上正确加入这些任何建议吗?
SELECT [Radio],
SUM(CASE WHEN [Time] < 12 THEN 1 ELSE 0 END) AS Window1,
SUM(CASE WHEN [Time] >= 12 AND [TIME] < 15 THEN 1 ELSE 0 END) AS Window2,
SUM(CASE WHEN [Time] >= 16 THEN 1 ELSE 0 END) AS Window3
FROM [Table]
GROUP BY [Radio]
Run Code Online (Sandbox Code Playgroud)
适当调整<=/<和> = />; 你在这一点上并不是很具体.
另外,你的第一个条件是window 1 > 12.我假设你的意思window 1 < 12.
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |