我有Table1,我需要让它看起来像Table2:
VisitingCount | Date
-----------------------
1 | 15:09
3 | 15:10
7 | 15:15
1 | 15:39
2 | 15:40
3 | 15:47
VisitingCount | Date
-----------------------------
11 | 15:00-15:30
6 | 15:30-16:00
我编写了这样的sql用户定义函数:
create FUNCTION [dbo].[fn_GetActivityLogsArranger] (@time AS nvarchar(max))
RETURNS nvarchar(max)
AS
BEGIN
declare @Return varchar(30)
select @Return =
case
when @time between '15:00' and '15:30' then '15:00-15:30'
when @time between '15:30' and '16:00' then '15:30-16:00'
when @time between '16:00' and '16:30' then '16:00-16:30'
when @time between '16:00' and '16:30' then '16:00-16:30'
when @time between '16:30' and '17:00' then '16:30-17:00'
when @time between '17:00' and '17:30' then '17:00-17:30'
when @time between '17:30' and '18:00' then '17:30-18:00'
else 'Unknown'
end
return @Return
end
在我的sql查询中调用UDF时,我获得了正确的结果:
select
Count(Page) as VisitingCount,
dbo.fn_GetActivityLogsArranger(CONVERT(VARCHAR(5),Date, 108))
as [Time]
from
scr_SecuristLog
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
dbo.fn_GetActivityLogsArranger(CONVERT(VARCHAR(5),Date, 108))
order by
dbo.fn_GetActivityLogsArranger(CONVERT(VARCHAR(5),Date, 108)) asc
但是我不喜欢这种方法。我梦dream以求的代码如下所示:
select
Count(Page) as VisitingCount,
dbo.fn_GetActivityLogsArranger(CONVERT(VARCHAR(5),Date, 108))
as **[TIME]**
from
scr_SecuristLog
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
您可以像视图一样加入表并在其中调用函数。这样,您可以在视图的列上调用分组依据和排序依据。
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
我有一个代码是这样的: } 有人知道为什么查询不能使用Order By time_end ASC吗???我尝试了并得到了相同的结果
问题内容: 我正在尝试运行SQL查询以获取四个随机项。由于表中product_filter有多个toupleproduct我必须使用DISTINCTin SELECT,所以出现此错误: 对于SELECT DISTINCT,ORDER BY表达式必须出现在选择列表中 但是,如果我RANDOM()输入了SELECT它,将会避免DISTINCT结果。 有人知道如何DISTINCT与RANDOM()功能一
问题内容: 我正在使用spring数据,我的DAO看起来像 在上面的代码中,注释行显示了我的意图。Spring Data是否可以提供内置功能来使用这种方法通过ASC / DESC按某列查找所有记录顺序? 问题答案: 上面的代码应该可以工作。我正在使用类似的东西: 它返回最高级别的10行。 重要提示: 由于有人告诉我很容易错过此答案的关键点,因此需要澄清一下:
问题内容: 我知道Android 很棒。它使我们能够播放本地文件以及媒体流。而且非常容易使用(例如): 通过调用具有不同参数集的重载,可以设置不同类型的DataSource 。这个函数有一个有趣的原型: 看起来可以用自己的实现完全覆盖。它确实有效: 并在主要代码中: 是的,这很好。但是,如果我尝试音频/ aacp广播流(例如:“ http://111.223.51.8:8005”-它是“ COOL
问题内容: 如果我要在数据库中定义某些功能(也许是Postgres或任何其他数据库): 我会从SQL中将其称为: 如何从Hibernate调用诸如此类的自定义函数? 问题答案: 如果要在HQL中使用自定义函数,则需要在相应的方言中定义它 看一下PostgreSQLDialect(或其他任何来源)的源代码,您会看到一堆registerFunction()调用。您需要再添加一个:-)-用于您自己的自定
2.4 函数定义与使用 函数是可重复调用的一段程序单元。在用程序解决一个比较大的功能时,知道如何拆分多 个小功能,尤其是多次用到的辅助小功能,并将它们独立为一个个函数,是编程的基本素 养吧。 VimL 函数语法 在 VimL 中定义函数的语法结构如下:(另参考 :help :function) function[!] 函数名(参数列表) 附加属性 函数体 endfunction 在其他地