亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
12下一頁
最近訪問板塊 發(fā)新帖
查看: 3972 | 回復: 12
打印 上一主題 下一主題

求一SQL語句 [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2008-05-21 16:39 |只看該作者 |倒序瀏覽
這樣一個表:
No 名稱
--------------
1  名稱1
1  名稱2
1  名稱3
1  名稱4
2  名稱5
3  名稱6
3  名稱7


我想檢索出來
1 名稱1
2 名稱5
3 名稱6

也就是no一樣的情況下只取第一條的名稱
如果你認為很簡單,請試過再說,謝謝。

論壇徽章:
1
丑牛
日期:2014-08-07 17:07:05
2 [報告]
發(fā)表于 2008-05-21 18:33 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
3 [報告]
發(fā)表于 2008-05-24 21:42 |只看該作者
恩,謝謝了,這個好用。

論壇徽章:
0
4 [報告]
發(fā)表于 2008-05-24 23:42 |只看該作者
如果只是取一條的話:
select no,min(name) from t1
group by no;
如果取一條以上的話,則可參考ILoveMK的SQL

論壇徽章:
0
5 [報告]
發(fā)表于 2008-05-24 23:47 |只看該作者
原帖由 doni 于 2008-5-24 23:42 發(fā)表
如果只是取一條的話:
select no,min(name) from t1
group by no;
如果取一條以上的話,則可參考ILoveMK的SQL

min取到得未必是“第一”條啊
我記得oracle的sql有把結果集當作順序表處理的方法的,不過好久不搞,想不起來了……

論壇徽章:
0
6 [報告]
發(fā)表于 2008-05-25 14:56 |只看該作者
如果要根據(jù)no做group by,然后根據(jù)名稱進行排序,取有序的第一條或者多少條,可以考慮使用rank。
范例:
CREATE TABLE TEST1(NO VARCHAR2(10),NAME VARCHAR2(10));

insert into test1 values('80','sh1');

insert into test1 values('70','sh1');

insert into test1 values('80','ab1');

insert into test1 values('60','dd1');

commit;

SQL> select * from test1;

NO         NAME
---------- ----------
80         sh1
70         sh1
80         ab1
60         dd1

SQL> SELECT NO, NAME
  2    FROM (SELECT NO, NAME,
  3                 RANK () OVER (PARTITION BY NO ORDER BY NAME ASC) AS row_rank
  4            FROM TEST1)
  5   WHERE row_rank = 1;

NO         NAME
---------- ----------
60         dd1
70         sh1
80         ab1

論壇徽章:
1
丑牛
日期:2014-08-07 17:07:05
7 [報告]
發(fā)表于 2008-05-25 15:21 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
8 [報告]
發(fā)表于 2008-05-25 21:05 |只看該作者
order by時候增加一個rowid,就可以避免這個問題了

論壇徽章:
0
9 [報告]
發(fā)表于 2008-05-26 11:40 |只看該作者
原帖由 Magicloud 于 2008-5-24 23:47 發(fā)表

min取到得未必是“第一”條啊
我記得oracle的sql有把結果集當作順序表處理的方法的,不過好久不搞,想不起來了……


我看你的舉例,象是要取最小,想當然了

論壇徽章:
0
10 [報告]
發(fā)表于 2008-05-26 11:55 |只看該作者
但低版本的ORACLE里,沒有PARTITION BY 或rank,要怎么做,大家可以試試看
我想到兩種辦法,1.用PL/SQL,2.在group by 上做文章
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP