當前位置:首頁 » 編程語言 » oraclesqldistinct
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

oraclesqldistinct

發布時間: 2022-05-01 03:41:37

A. 問一下oracle資料庫 select count(*),distinct id from table_name語句

--假設表名為sales
(銷售)
--,含有欄位proct
(產品)
;
select
proct
,
count(*)
from
sales
group
by
proct
;
--如果還有流水號id,可以:
select
proct
,
count(*)
--不去重
,
count(distinct
id)
--去重
from
sales
group
by
proct
;

B. Oracle資料庫下 distinct 與row_number() over的用法

哪個快要以當時的執行計劃為准

C. 資料庫oracle中怎麼用distinct取消重復行

首先,對你的需求有點模糊,取消c_id的重復行,然後還顯示c_id,s_id。上面兩個sql不知道是否滿足你的需求,就比如
select distinct c_id,s_id from xskc ,這條語句消除的是c_id和s_id同時一樣的記錄,所以單就c_id,還是會有重復的情況。
SQL> desc p
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NUMBER
NAME VARCHAR2(10)

SQL> select * from p;

ID NAME
---------- ----------
1 AAA
2 AAA
1 BBB
3 BBB
SQL> select distinct id,name from p;

ID NAME
---------- ----------
1 AAA
1 BBB
2 AAA
3 BBB

SQL> select distinct id from p;

ID
----------
1
2
3

所以不管怎麼樣,如果你要顯示c_id和s_id的話,c_id基本都可能重復,除非你還有其他的條件限制

D. Oracle11g distinct是否不自動排序了

Oracle11g權威指南
http://ke..com/view/1906335.htm

參考資料:http://ke..com/view/1906335.htm

E. mysql可以用distinct,那麼oracle可以用嗎 兩者的區別

可以,distinct是sql的語法,不是dbms里特有的
用法相同

F. Oracle―distinct的用法

以三個欄位舉例

selectid,max(欄位1),max(欄位2),max(欄位3)fromAgroupbyid

70多個欄位也只能這樣類似的寫下去,當然max可以改成min

G. oracle 中distinct 並對令一列求和

SQL> create table temp(
2 code varchar2(3),
3 num number(3)
4 );

表已創建。

SQL> insert into temp values('A',1);

已創建 1 行。

SQL> insert into temp values('B',3);

已創建 1 行。

SQL> insert into temp values('B',7);

已創建 1 行。

SQL> insert into temp values('C',2);

已創建 1 行。

SQL> insert into temp values('C',2);

已創建 1 行。

SQL> insert into temp values('D',5);

已創建 1 行。

SQL> insert into temp values('D',8);

已創建 1 行。

SQL> select code,sum(num) from temp group by code;

COD SUM(NUM)
--- ----------
A 1
B 10
C 4
D 13

不知道你要的是不是這個意思,如果一樣就自己套吧

H. sql server里的distinct 和oracle有什麼區別

distinct去除重復數據。貌似沒啥差別。過濾掉多餘的重復記錄只保留一條,但往往只用它來返回不重復記錄的條數

I. oracle sql 去重復記錄不用distinct如何實現

1、查找表中多餘的重復記錄,重復記錄是根據單個欄位(peopleId)來判斷

select*frompeople

wherepeopleIdin((peopleId)>1)

2、刪除表中多餘的重復記錄,重復記錄是根據單個欄位(peopleId)來判斷,只留有rowid最小的記錄

deletefrompeople

wherepeopleIdin((peopleId)>1)

androwidnotin(selectmin(rowid)(peopleId)>1)

J. oracle中number distinct什麼欄位

那就用distinct函數,只取出重復的唯一記錄就可以了。
sql:select distinct(* ) from tablename ;