問題見
關於分組連續日期合併為一起的優化
create
table
t(name
varchar(10
),date
smalldatetime
)insert
into
t select'a
','2008-01-01
'union
allselect'a
','2008-01-02
'union
allselect'a
','2008-01-03
'union
allselect'a
','2008-01-06
'union
allselect'a
','2008-01-07
'union
allselect'a
','2008-01-09
'union
allselect'b
','2008-01-01
'union
allselect'b
','2008-01-02
'union
allselect'b
','2008-01-03
'union
allselect'b
','2008-01-04
'union
allselect'b
','2008-01-07
'union
allselect'b
','2008-01-08'--
徐王錦 2009/01/20 pm 16:11--1
create
index
index_t
ont(date)--2
select
name,
case
when
min(date)
=max
(date)
then
convert
(char(10
),min
(date),
120)
else
convert
(char(10
),min
(date),
120)+n
'-'+
convert
(char(10
),max
(date),
120)
endas
date
from
(select
name,date,date
-row_number()
over
(partition
byname
order
bydate)
aspx
from
t)xgroup
byname,px
order
byname
--2萬行資料測試
--機器配置 cpu pm1.8 記憶體 1g
用函式select
x2.name,
case
when
len(x2.date)
>
10then
left
(x2.date,10)
+n'-
'+right
(x2.date,
10)
else
x2.date
endas
date
from
(select
distinct
name
from
t)xcross
asx2
耗時 01:54
用select
name,
case
when
min(date)
=max
(date)
then
convert
(char(10
),min
(date),
120)
else
convert
(char(10
),min
(date),
120)+n
'-'+
convert
(char(10
),max
(date),
120)
endas
date
from
(select
name,date,date
-row_number()
over
(partition
byname
order
bydate)
aspx
from
t)xgroup
byname,px
order
byname
耗時00:00
將不同的vlan合併到一起
有時分得的ip是在不同的vlan中,而你卻不想要vlan,想把所有ip段都在同乙個lan中使用,那麼只需要把vlan 重新合併到一起就行了.vlan的本質是隔離廣播域,每個vlan就相當於乙個交換機,那麼合併的時候只需要把不同的vlan埠橋接起來就行了,就像把2個交換機級聯起來一樣.比如交換機的1 ...
關於認證的看法,歡迎大家一起討論
關於認證的看法 證書這真是個好東西啊!多少人為它花盡心思,花盡金錢的去得到它。它也正被人理解成。有了證書才能找到好的工作!沒錯,在以前的確是這樣。但現在已經發生了很多變化!以前考證書複習資料很少,要想考過試拿到證書,完全是通過努力得來的,而現在,考證書我大家都是在背題庫吧。考的人多了,當然就越來越不...
關於group by 和max函式一起使用的坑
前幾天去參加一場面試,面試過程中有被問到乙個sql語句的問題,很遺憾沒有回答上來,結果一面直接掛 問完這個問題後,當我聽到面試官對我說 你有什麼想問我的嗎?我的內心一片涼涼 其實面試官問的問題聽起來很簡單,一張劇目演出表,表中有 劇目id,劇目名稱,演出單位,票房 問 查詢出每個演出單位票房最高的劇...