SQL查詢的問題,PL SQL查詢的問題。

時間 2022-05-22 22:45:02

1樓:匿名使用者

select tt.* from

(select t.*,row_number() over(partition by t.c1 order by t.c2 desc ) rn from aaa t)tt

where tt.rn=1;

分析函式 的作用是按c1進行分組,並且對每個組進行排序(select t.*,row_number() over(partition by t.c1 order by t.

c2 desc ) rn from aaa t)的查詢結果是

c1 c2 c3 rn

a ab cd 1

a ef gh 2

b as qw 1

c e4 r5 1

d af gf 1d e2 3e 2

2樓:匿名使用者

本機沒有 oracle , 寫個 sql server 版本的, 你參考著看看

沒有用太多 sql server 的特性。

1> create table #temp (

2> c1 char(1),

3> c2 char(2),

4> c3 char(2)

5> );

6> go

1>2> insert into #temp

3> select 'a', 'ab', 'cd' union all

4> select 'a', 'ef', 'gh' union all

5> select 'b', 'as', 'qw' union all

6> select 'c', 'e4', 'r5' union all

7> select 'd', 'e2', '3e' union all

8> select 'd', 'af', 'gf';

9> go

(6 行受影響)

1>2> select

3> c1, c2, c3

4> from

5> #temp main

6> where

7> not exists (

8> select *

9> from #temp sub

10> where

11> main.c1 = sub.c1 and

12> main.c2 < sub.c2

13> )

14> go

c1 c2 c3

-- -- --

a ef gh

b as qw

c e4 r5

d e2 3e

(4 行受影響)

3樓:匿名使用者

select

a.c1,

c2 = isnull((select top 1 b.c2 from t1 b where b.c1 = a.c1 order by b.c2,b.c3),''),

c3 = isnull((select top 1 b.c3 from t1 b where b.c1 = a.c1 order by b.c2,b.c3),'')

from t1 a

group by a.c1

sql 查詢問題。C sql查詢問題

where語句多個條件拼接可以這麼做,先拼一個萬能的條件 1 1 或者 0 0 然後其他的條件如果有效就依次新增進去。這個sql語句裡是把between.and拆分成2個邊界值進行比較。sql select from it gdchang where 1 1 if if 其他類似,先判斷有沒有輸入,...

SQL查詢問題

select 姓名,專業,課程名,成績 from select 課程號,max 成績 from grade group by 課程號 as a inner join student as s on s.學號 a.學號 inner join course as c on c.課程號 a.課程號 sel...

模糊查詢Sql語句問題,SQL模糊查詢語句怎麼寫啊

理工愛好者 模糊之後估計效率不太好 如果知道z是開頭字母 select name where pyname like z s 如果zs都是中間字母 select name where pyname like z s 祝好運,望採納。 select from 表面 like zs like是不分大小寫...