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