oracle怎么导出筛选后的数据,ORACLE,筛选单字段不重复的记录,保留其他字段....
在ORACLE中,我們常常對數(shù)據(jù)進(jìn)行排序和篩選,例如:成績表中,將某一個人的所有科目成績放到一起來看,那么我們會使用ORDER BY 語句。
例如表T1:
Name ? Subject ? ? Score
LI ? ? ? ? ? ?Math ? ? ? ? ?84
Zhang ? ?Art ? ? ? ? ? ? ?75
Li ? ? ? ? ? ?Physics ? ? 93
Zhang ? ?Math ? ? ? ? ? 97
Zhang ? Physics ? ? 71
Li ? ? ? ? ? ? Art ? ? ? ? ? ? ?85
我們使用語句 SELECT *FROM T1 ORDER BY NAME 可以使得查詢結(jié)果按姓名排列。
使用語句SELECT * FROM T1 ORDER BY SUBJECT 可以使查詢結(jié)果按科目排列。(結(jié)果省略請自行操作)
對于求一個人的總分,也很好辦,我們可以使用GROUP BY 語句,將求和的結(jié)果直接按每個名字一條記錄輸出,例如:
SELECT SUM(SCORE) FROM T1 GROUP BY NAME 這樣可以得到各名字對應(yīng)的總分。
事實(shí)上,類似于SUM,MAX,MIN這樣的函數(shù)被稱為聚集函數(shù),就是和GROUP搭配起來用的。
然而很多時候我們需要的是聚集運(yùn)算前的原始信息,例如:
ID ? ? ? ? ? ?TYPE
000132 A
000212 C
000213 B
000632 A
001283 B
這樣的信息,我們希望按組分開,而又希望保留完整的條目(每個TYPE任意一條即可),筆者在網(wǎng)上看到的一個機(jī)智的做法是使用MIN函數(shù)。
SELECT MIN(ID),TYPE FROM T1 GROUP BY TYPE
這樣,就取出了每個TYPE中的ID最小的一條記錄,保留住了完整的記錄信息,達(dá)到了期待的結(jié)果。
這個例子只考慮到了一條記錄只包含兩個字段的情況,多個字段是否依然適用,今天來不及實(shí)驗(yàn)了,請各位批評指正!如能回復(fù),感激不盡!
總結(jié)
以上是生活随笔為你收集整理的oracle怎么导出筛选后的数据,ORACLE,筛选单字段不重复的记录,保留其他字段....的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle expdp数据到txt,[
- 下一篇: 不锈钢密度是多少(不锈钢密度304重量计