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

sql不重復

發布時間: 2022-01-12 16:45:06

sql 怎麼取不重復的數據的所有數據

SQL數據重復分幾種情況,一種是原數據重復,第二種是粒度重復,第三種是分布重復。

原數據重復的情況,你直接可以distinct掉,例如,學生表當中有兩個重復的學號,你想取出不重復的,直接可以寫:select distinct 學號 from 學生表
第二種是查詢粒度重復,比如你有一張表是存儲區域的,分別為省、市、縣三列。而你需要的是只查找不同的省市,則也可以使用distinct:select distinct 省,市 from 區域
第三種則是分布重復,比如在join 的時候,左右兩個表格存在一對多的關系,造成的重復,或者在聚合之後出現了維度重復,則這種相對來說比較麻煩,你需要在子查詢中統計或查找出唯一值,然後再去關聯,或者是按照一定的數據需求的取數規則,在查詢結果後再進行聚合,取到唯一值。
不過不管怎麼樣,都是要看實際需求是什麼樣子的。大多可以用子查詢和關聯聯合解決。

❷ SQL篩選不重復數據的案例

delet
from
表名
where
PRP_Number
not
int
(select
PRP_Number,count(*)
from
表名
where
gourp
by
PRP_Number
having
count(*)>1
)
and
PRP_Number
not
in
(select
PRP_Number
from
表名
where
convaert(int,PRP_Number)<
convert(int,substring(
(select
PRP_Number
from
表名
where
PRP_Number
like
--這里寫你不要刪除重復的P0002-P0003之間的第一個P0002,如下
'??????????_P0002')
,0,charindex('_'))
and
convaert(int,PRP_Number)>
convert(int,substring(
(select
PRP_Number
from
表名
where
PRP_Number
like
--這里寫你不要刪除重復的P0002-P0003之間的最後的P0003,如下
'??????????_P0003')
,0,charindex('_'))
)
--P0001-P0002我就不寫了,你按照上面的思路你自己套用吧
--慎用,請看清再執行

❸ sql語句選不重復的值的問題。

select B.*
from (
select 設備ID, max(維護時間) as ModTime
from tableA group by 設備ID
) A
Left join tableA B on A.設備ID=B.設備ID and A.ModTime = B.維護時間

您好,這樣寫應該就是你要的.

❹ SQL對不重復項進行計數

那如果要不重復的,就要把分組去掉,語句改成:
select count(Distinct Class)as Class from ClassDate where Machine='020-C03' and DateTime='2014-7-18'

❺ 求sql顯示(查詢)不重復數據命令

必須有唯一標識列才能過濾重復,下面給你個思路:

生成唯一id列:
select id=identity(1,1),bianhao、name、jiage、chandi、shuliang into #tmp_tb from 表1

查詢顯示name不重復的所有數據:
select * from #tmp_tb t1 where not exists (select 1 from #tmp_tb t2 where t2.name=t1.name and t2.id<t1.id)

bianhao列為唯一標示列,顯示大的小的都可以
--------------------
那直接查就可以了:
select * from kucun t1 where not exists (select 1 from kucun t2 where t2.name=t1.name and t2.bianhao<t1.bianhao)

❻ sql語句求解答,統計不重復的個數

沒有重名的情況下:select count(distinct 姓名) from table
有重名的情況(但是重名的人年齡不一樣):select count(distinct(姓名,年齡)) from table
如果重名的人,年齡還一樣,那這張表就不能只有這三行了。

❼ SQL查詢不重復數據語句

打開sql2008資料庫,無論哪個版本都行,方法和語句都是一樣的
選擇默認資料庫為我們需要查詢的資料庫,輸入SQL語句的時候,就會出現只能提示窗口
在這個表中,我們要統計同一個部門包含多少條記錄
語句【select
distinct
BELONG_DPID
from
BED】可以查詢出不同的部門有10個,如圖所示
對語句進行完善,統計每個部門的行數
select
distinct
BELONG_DPID,COUNT(BELONG_DPID)
from
BED
查詢結果如圖所示,這樣就篩選出各個部門的記錄數

❽ sql 查詢不重復的數據

--下面是查詢出有重復ID的數據,具體的刪除你自己弄,因為主從表關系限制,我就不寫刪除語句啦,你自己看情況刪除
select * from proct_info
where id in (select id from proct_info
group by type_id
)

select id from proct_info_pic
where infoid in (select id from proct_info
group by type_id )

❾ 「sql」怎麼查詢不重復數據

1、select distinct 查詢欄位名 。

2、查詢from 表名 。


3、設置where 查詢條件。

4、輸入distinct是去除重復內容的。

❿ sql 查詢不重復記錄

SQL查詢不重復記錄,操作如下:
1、假如要查詢t1表中name欄位中所有的姓名,並去除重復。
2、可以使用如下語句:
SELECT DISTINCT name FROM t1;3、其中DISTINCT是去重功能。