① 怎麼在sql server中查詢一個表中某個數據重復條數大於1的所有信息
比如重復欄位是 A 表 的 name 欄位
select name from A group by name having count(name)>1
顯示的就是 重復數 大於 1 的 name了
如果你要查看重復的數據 外面就加個 in name
select * from A where name in(
select name from A group by name having count(name)>1
)
② sql統計查詢
withtmpas
(
selectuname,
casewhenresults>=60andresults<80then1
whenresults<60then2
whenresults>=80then3endasdd
fromtable2
)
selectunameas姓名,
(selectCOUNT(1)fromtmpawherea.uname=t.unameanda.dd=3)as優秀,
(selectCOUNT(1)fromtmpawherea.uname=t.unameanda.dd=1)as及格,
(selectCOUNT(1)fromtmpawherea.uname=t.unameanda.dd=2)as不及格
from
(
)t
③ SQL如何統計各項總量並選出大於某個值的項
看你的問題不是很清楚,你可以給出表說明,或 具體蘇劇描述也可以
我寫了一個例子你可以參照參照
select name ,count(type) ,sum(num)
from tab1
group by name
having count(type )<4
select name ,count(type) ,sum(num)
from tab1
group by name
having sum(num) <4
④ 多個項目超標收費sQL語句怎麼查多收費金額
select *,(實際收款欄位 - 原定收款欄位) as diff from 表名 where 實際收款欄位> 原定收款欄位;
⑤ SQL查詢語句:如何將一列連續數值大於某個值的數據行進行統計
就當你用的是SQL Server吧
SELECT
MIN(id)開始ID,
MAX(ID)結束ID,
MAX(數據)最大值,
MIN(數據)最小值,
AVG(數據)平均值,
MIN(時間)開始時間,
MAX(時間)結束時間
FROM
(
SELECT
row_number()OVER(ORDERBYid)rowid,*
FROM
t
WHERE
狀態>=1000
)tn
GROUPBY
rowid-id
ORDERBY
MIN(id)
⑥ sql查找一列中某一數值出現次數大於2的記錄
需要用group by中的having子句。
1、如test表中有如下數據:
⑦ SQL語句 查詢 統計
這幾個表裡有哪幾個列要告訴我們呀!
hotyxm - 高級魔法師 六級 最後一個題目好像有誤.應該是:
select 學生姓名,count(課程編號) from 選課表 group by 學生號having count(課程編號)>=4;
不過你還是要把這幾個表詳細說下才好,上面這個SQL語句是跟據一般可能有和列和表來寫的.
hotyxm - 高級魔法師 六級的回答可能還有其它錯誤.我沒細看.但好像他就是從學生表裡來查東西,一個表怎麼能有那麼多東西,會出異常的.
你不詳細說明一下有哪些表和哪些列,我也不好跟你寫.
⑧ sql 查詢 統計
createtableclient
(
clientidintnotnull,
groupidintnotnull,
constraintPK_CLIENTprimarykey(clientid,groupid)
);
createtableclienthistory
(
clientidintnotnull,
clientstatusint,
timestampsvarchar2(8),
constraintPK_CLIENTHISTORYprimarykey(clientid)
);
createtableclientgroup
(
groupidintnotnull,
groupnamevarchar2(10),
constraintPK_CLIENTGROUPprimarykey(groupid)
);
insertintoCLIENT(CLIENTID,GROUPID)
values(1,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(2,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(3,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(4,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(5,1);
insertintoCLIENT(CLIENTID,GROUPID)
values(6,2);
insertintoCLIENT(CLIENTID,GROUPID)
values(7,2);
insertintoCLIENT(CLIENTID,GROUPID)
values(8,2);
insertintoCLIENT(CLIENTID,GROUPID)
values(9,3);
insertintoCLIENT(CLIENTID,GROUPID)
values(10,3);
insertintoCLIENTGROUP(GROUPID,GROUPNAME)
values(1,'groupname1');
insertintoCLIENTGROUP(GROUPID,GROUPNAME)
values(2,'groupname2');
insertintoCLIENTGROUP(GROUPID,GROUPNAME)
values(3,'groupname3');
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(1,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(2,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(3,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(4,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(5,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(6,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(7,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(8,1,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(9,0,null);
insertintoCLIENTHISTORY(CLIENTID,CLIENTSTATUS,TIMESTAMPS)
values(10,1,null);
selectcg.groupid,cg.groupname,(sum(ch.clientstatus)/count(c.clientid))fromclientgroupcg,clienthistorych,clientc
wherec.clientid=ch.clientid
andc.groupid=cg.groupid
groupbycg.groupid,cg.groupname
⑨ 在SQL中怎麼對一個數據統計排查出去單個數據大於10的
select color_no,count(*) as 出現次數 from dbo.Yarn_Out
WHERE COLOR_NO like '%E%' and COLOR_NO not like '%E'
group by color_no
having count(*)>10
order by color_no
having用於組內篩選,篩選出數量(count)大於10的數據
⑩ SQL 累計查詢,超標統計。
問題很好,提的很清楚,但是實在慚愧,想不出一個sql可以達到這樣的效果。
可以用臨時表 + 存儲過程,用游標按單位來處理,分步驟來實現。
按照你給的數據,來推斷,可以直截取 某店當月大於 500 的記錄,然後再追加後兩個月份就行了。如:
- select * into temptable from table where sale > 500;
- 取單條tempable記錄,追加該店鋪的其後兩個朋份的數據。
- 最後返回這個臨時表的內容。