sql查询汇总

【sql 统计实例】统计本月,本年,去年 sql 统计 优化 分三条sql查出三种不同的状态的记录数(总记录,未支付,已支付) group by对记录数进行分日期进行统计 CASE WHEM 整合成一条sql case when 条件查询 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END CASE WHEN sex = '1' THEN ... 阅读详情
-
处理表重复记录(查询和删除)

/*
*****************************************************************************************************************************************************
1、Num、Name相同的重复值记录,没有大小关系只保留一条
2、Name相同,ID有大小关系时,保留大或小其中一个记录
整理人:中国风(Roy)

日期:2008.06.06
*****************************************************************************************************************************************************
*/

-- 1、用于查询重复处理记录(如果列没有大小关系时2000用生成自增列和临时表处理,SQL2005用row_number函数处理)

-- > --> (Roy)生成測試數據

if not object_id ( ' Tempdb..#T ' ) is null
drop table #T
Go
Create table #T( [ ID ] int , [ Name ] nvarchar ( 1 ), [ Memo ] nvarchar ( 2 ))
Insert #T
select 1 ,N ' A ' ,N ' A1 ' union all
select 2 ,N ' A ' ,N ' A2 ' union all
select 3 ,N ' A ' ,N ' A3 ' union all
select 4 ,N ' B ' ,N ' B1 ' union all
select 5 ,N ' B ' ,N ' B2 '
Go


-- I、Name相同ID最小的记录(推荐用1,2,3),方法3在SQl05时,效率高于1、2
方法1:
Select * from #T a where not exists ( select 1 from #T where Name = a.Name and ID < a.ID)

方法2:
select a. * from #T a join ( select min (ID)ID,Name from #T group by Name) b on a.Name = b.Name and a.ID = b.ID

方法3:
select * from #T a where ID = ( select min (ID) from #T where Name = a.Name)

方法4:
select a. * from #T a join #T b on a.Name = b.Name and a.ID >= b.ID group by a.ID,a.Name,a.Memo having count ( 1 ) = 1

方法5:
select * from #T a group by ID,Name,Memo having ID = ( select min (ID) from #T where Name = a.Name)

方法6:
select * from #T a where ( select count ( 1 ) from #T where Name = a.Name and ID < a.ID) = 0

方法7:
select * from #T a where ID = ( select top 1 ID from #T where Name = a.name order by ID)

方法8:
select * from #T a where ID !>all ( select ID from #T where Name = a.Name)

方法9(注:ID为唯一时可用):
select * from #T a where ID in ( select min (ID) from #T group by Name)

-- SQL2005:

方法10:
select ID,Name,Memo from ( select * , min (ID) over (partition by Name) as MinID from #T a)T where ID = MinID

方法11:

select ID,Name,Memo from ( select * ,row_number() over (partition by Name order by ID) as MinID from #T a)T where MinID = 1

生成结果:
/*
ID Name Memo
----------- ---- ----
1 A A1
4 B B1

(2 行受影响)
*/


-- II、Name相同ID最大的记录,与min相反:
方法1:
Select * from #T a where not exists ( select 1 from #T where Name = a.Name and ID > a.ID)

方法2:
select a. * from #T a join ( select max (ID)ID,Name from #T group by Name) b on a.Name = b.Name and a.ID = b.ID order by ID

方法3:
select * from #T a where ID = ( select max (ID) from #T where Name = a.Name) order by ID

方法4:
select a. * from #T a join #T b on a.Name = b.Name and a.ID <= b.ID group by a.ID,a.Name,a.Memo having count ( 1 ) = 1

方法5:
select * from #T a group by ID,Name,Memo having ID = ( select max (ID) from #T where Name = a.Name)

方法6:
select * from #T a where ( select count ( 1 ) from #T where Name = a.Name and ID > a.ID) = 0

方法7:
select * from #T a where ID = ( select top 1 ID from #T where Name = a.name order by ID desc )

方法8:
select * from #T a where ID !<all ( select ID from #T where Name = a.Name)

方法9(注:ID为唯一时可用):
select * from #T a where ID in ( select max (ID) from #T group by Name)

-- SQL2005:

方法10:
select ID,Name,Memo from ( select * , max (ID) over (partition by Name) as MinID from #T a)T where ID = MinID

方法11:
select ID,Name,Memo from ( select * ,row_number() over (partition by Name order by ID desc ) as MinID from #T a)T where MinID = 1

生成结果2:
/*
ID Name Memo
----------- ---- ----
3 A A3
5 B B2

(2 行受影响)
*/



-- 2、删除重复记录有大小关系时,保留大或小其中一个记录


-- > --> (Roy)生成測試數據

if not object_id ( ' Tempdb..#T ' ) is null
drop table #T
Go
Create table #T( [ ID ] int , [ Name ] nvarchar ( 1 ), [ Memo ] nvarchar ( 2 ))
Insert #T
select 1 ,N ' A ' ,N ' A1 ' union all
select 2 ,N ' A ' ,N ' A2 ' union all
select 3 ,N ' A ' ,N ' A3 ' union all
select 4 ,N ' B ' ,N ' B1 ' union all
select 5 ,N ' B ' ,N ' B2 '
Go

-- I、Name相同ID最小的记录(推荐用1,2,3),保留最小一条
方法1:
delete a from #T a where exists ( select 1 from #T where Name = a.Name and ID < a.ID)

方法2:
delete a from #T a left join ( select min (ID)ID,Name from #T group by Name) b on a.Name = b.Name and a.ID = b.ID where b.Id is null

方法3:
delete a from #T a where ID not in ( select min (ID) from #T where Name = a.Name)

方法4(注:ID为唯一时可用):
delete a from #T a where ID not in ( select min (ID) from #T group by Name)

方法5:
delete a from #T a where ( select count ( 1 ) from #T where Name = a.Name and ID < a.ID) > 0

方法6:
delete a from #T a where ID <> ( select top 1 ID from #T where Name = a.name order by ID)

方法7:
delete a from #T a where ID >any ( select ID from #T where Name = a.Name)



select * from #T

生成结果:
/*
ID Name Memo
----------- ---- ----
1 A A1
4 B B1

(2 行受影响)
*/


-- II、Name相同ID保留最大的一条记录:

方法1:
delete a from #T a where exists ( select 1 from #T where Name = a.Name and ID > a.ID)

方法2:
delete a from #T a left join ( select max (ID)ID,Name from #T group by Name) b on a.Name = b.Name and a.ID = b.ID where b.Id is null

方法3:
delete a from #T a where ID not in ( select max (ID) from #T where Name = a.Name)

方法4(注:ID为唯一时可用):
delete a from #T a where ID not in ( select max (ID) from #T group by Name)

方法5:
delete a from #T a where ( select count ( 1 ) from #T where Name = a.Name and ID > a.ID) > 0

方法6:
delete a from #T a where ID <> ( select top 1 ID from #T where Name = a.name order by ID desc )

方法7:
delete a from #T a where ID <any ( select ID from #T where Name = a.Name)


select * from #T
/*
ID Name Memo
----------- ---- ----
3 A A3
5 B B2

(2 行受影响)
*/





-- 3、删除重复记录没有大小关系时,处理重复值


-- > --> (Roy)生成測試數據

if not object_id ( ' Tempdb..#T ' ) is null
drop table #T
Go
Create table #T( [ Num ] int , [ Name ] nvarchar ( 1 ))
Insert #T
select 1 ,N ' A ' union all
select 1 ,N ' A ' union all
select 1 ,N ' A ' union all
select 2 ,N ' B ' union all
select 2 ,N ' B '
Go

方法1:
if object_id ( ' Tempdb..# ' ) is not null
drop table #
Select distinct * into # from #T -- 排除重复记录结果集生成临时表#

truncate table #T -- 清空表

insert #T select * from # -- 把临时表#插入到表#T中

-- 查看结果
select * from #T

/*
Num Name
----------- ----
1 A
2 B

(2 行受影响)
*/

-- 重新执行测试数据后用方法2
方法2:

alter table #T add ID int identity -- 新增标识列
go
delete a from #T a where exists ( select 1 from #T where Num = a.Num and Name = a.Name and ID > a.ID) -- 只保留一条记录
go
alter table #T drop column ID -- 删除标识列

-- 查看结果
select * from #T

/*
Num Name
----------- ----
1 A
2 B

(2 行受影响)

*/

-- 重新执行测试数据后用方法3
方法3:
declare Roy_Cursor cursor local for
select count ( 1 ) - 1 ,Num,Name from #T group by Num,Name having count ( 1 ) > 1
declare @con int , @Num int , @Name nvarchar ( 1 )
open Roy_Cursor
fetch next from Roy_Cursor into @con , @Num , @Name
while @@Fetch_status = 0
begin
set rowcount @con ;
delete #T where Num = @Num and Name = @Name
set rowcount 0 ;
fetch next from Roy_Cursor into @con , @Num , @Name
end
close Roy_Cursor
deallocate Roy_Cursor

-- 查看结果
select * from #T
/*
Num Name
----------- ----
1 A
2 B

(2 行受影响)
*/

 

 

不重复记录的实现

表:USER
ID  NAME  PASS
1  A    1234
2  A    2345
3  B    12345
4  C    DEE
5  C    EEE


要求姓名重复的不取出来,查询结果为
3  B    12345

--
> 测试数据:[tb]

if object_id ( ' [tb] ' ) is not null drop table [ tb ]
go
create table [ tb ] ( [ ID ] int , [ NAME ] varchar ( 1 ), [ PASS ] varchar ( 5 ))
insert [ tb ]
select 1 , ' A ' , ' 1234 ' union all
select 2 , ' A ' , ' 2345 ' union all
select 3 , ' B ' , ' 12345 ' union all
select 4 , ' C ' , ' DEE ' union all
select 5 , ' C ' , ' EEE '
-- ------------开始查询--------------------------
--
-方法1
select * from tb where name in ( select name from tb group by name having count ( 1 ) = 1 )
-- -方法2
select * from [ tb ] t where not exists ( select 1 from tb where name = t.name and pass <> t.pass)
-- --------------结果----------------------------
/*
ID NAME PASS
----------- ---- -----
3 B 12345

(1 行受影响)
*/
SQL code
-- ------------ 随机删除重复记录! -----------------------------
--
------------ Author: Luoyoumou -----------------------------

drop table test;
-- 先求出符合条件的记录:
create table test(col1 int identity ( 1 , 1 ), col2 varchar ( 10 ), col3 varchar ( 10 ));

insert into test(col2, col3)
select ' 我要银子 ' , ' 我没有 ' UNION ALL
select ' 我要银子 ' , ' 你有没? ' UNION ALL
select ' 我要金子 ' , ' 金子涨价了 ' UNION ALL
select ' 多要银元 ' , ' 我没有 ' UNION ALL
select ' 我要银子 ' , ' 我没有 ' UNION ALL
select ' 我要银子 ' , ' 你有没? ' UNION ALL
select ' 我要银子 ' , ' 明年才有 ' UNION ALL
select ' 我要银子 ' , ' 你有没? '

select * from test;
select distinct col2, col2 from test;


select t1.all_sum as ' 所有记录行 ' ,
t2.dis_sum
as ' 无重复记录行 ' ,
t1.all_sum
- t2.dis_sum as ' 将要删除的行数 '
from ( select count ( * ) as all_sum from test ) t1,
(
select count ( * ) as dis_sum from ( select distinct col2, col3 from test) t) t2;


-- -如:随机删除 col2='我要银子' 的重复记录
select sum (row_sum) as all_del from (
select col2, col3, count (col1) - 1 as ' row_sum '
from test
where col2 = ' 我要银子 '
group by col2, col3
having count (col1) - 1 <> 0 ) t1

-- 删除条件:将col2、col3都相同的,视为重复记录,将其随机删除指定条件(col2='我要银子')的重复记录,只剩一行
--
选择语句:
select top ( select sum (row_sum) as all_del from (
select col2, col3, count (col1) - 1 as ' row_sum '
from test
where col2 = ' 我要银子 '
group by col2, col3
having count (col1) - 1 <> 0 ) t1)
t1.col1, t1.col2, t1.col3
from test t1 where t1.col2 = ' 我要银子 ' and t1.col1 not in
(
select col1 from test t3 where exists (
select col2, col3
from test where col2 = ' 我要银子 '
and col2 = t3.col2 and col3 = t3.col3
group by col2, col3 having count (col1) = 1 ))
order by NEWID ()


-- 删除语句: 将其随机删除(col2='我要银子'的重复记录)只剩一行
DELETE FROM test
WHERE col1 in ( select col1 from (
select top ( select sum (row_sum) as all_del from (
select col2, col3, count (col1) - 1 as ' row_sum '
from test
where col2 = ' 我要银子 '
group by col2, col3
having count (col1) - 1 <> 0 ) t1)
t1.col1, t1.col2, t1.col3
from test t1 where t1.col2 = ' 我要银子 ' and t1.col1 not in
(
select col1 from test t3 where exists (
select col2, col3
from test where col2 = ' 我要银子 '
and col2 = t3.col2 and col3 = t3.col3
group by col2, col3 having count (col1) = 1 ))
order by NEWID ()) t
)


-- 删除语句: 将其随机删除所有重复的记录,每组重复记录只剩一行
DELETE FROM test
WHERE col1 in ( select col1 from (
select top ( select sum (row_sum) as all_del from (
select col2, col3, count (col1) - 1 as ' row_sum '
from test
group by col2, col3
having count (col1) - 1 <> 0 ) t1)
t1.col1, t1.col2, t1.col3
from test t1 where t1.col1 not in
(
select col1 from test t3 where exists (
select col2, col3
from test where col2 = t3.col2 and col3 = t3.col3
group by col2, col3 having count (col1) = 1 ))
order by NEWID ()) t
)


 

 

 

求触发器更新发生数量
根据入库数量更新订单已入库数量的触发器怎么写比较好?
因为要考虑入库单的新增、更新与删除的操作, 是分开写insert,update,delete三个触发器吗?


tableA
ID CODE ORDER_QTY IN_QTY
1 A 1000 0
tableB
AUTOID ID CODE QTY
1 1 A 100

->
ID CODE ORDER_QTY IN_QTY
1 A 1000 100

 

--
触发器的操作1


create table 化验室纱组(本厂编号 int ,客户 int ,色号 int ,纱支 int )
create table 化验室布组(本厂编号 int ,客户 int ,色号 int ,布类 int )
go
create trigger my_trig on 化验室纱组 for insert , update , delete
as
if not exists ( select 1 from inserted)
delete 化验室布组 from deleted t where 化验室布组.本厂编号 = t.本厂编号
else if not exists ( select 1 from deleted)
insert into 化验室布组(本厂编号 ,客户 ,色号) select 本厂编号 ,客户 ,色号 from inserted
else
update 化验室布组 set 客户 = t.客户 , 色号 = t.色号 from inserted t where 化验室布组.本厂编号 = t.本厂编号
go

-- 1、insert 对化验室纱组插入数据,然后查看化验室布组表的数据
insert into 化验室纱组 values ( 1 , 2 , 3 , 4 )
insert into 化验室纱组 values ( 5 , 6 , 7 , 8 )
go
select * from 化验室布组
/*
本厂编号 客户 色号 布类
----------- ----------- ----------- -----------
1 2 3 NULL
5 6 7 NULL

(所影响的行数为 2 行)
*/

-- 2、update , 更改化验室纱组表中本厂编号=1的色号=6
update 化验室纱组 set 色号 = 6 where 本厂编号 = 1
go
select * from 化验室布组
/*
本厂编号 客户 色号 布类
----------- ----------- ----------- -----------
1 2 6 NULL
5 6 7 NULL

(所影响的行数为 2 行)
*/

-- 3、delete 化验室纱组表中本厂编号=1的那条数据
delete from 化验室纱组 where 本厂编号 = 1
go
select * from 化验室布组
/*
本厂编号 客户 色号 布类
----------- ----------- ----------- -----------
5 6 7 NULL

(所影响的行数为 1 行)
*/

drop table 化验室纱组 , 化验室布组


create trigger tr_b on tableb for insert , update , delete as begin DECLARE @N1 INT , @n2 INT SET @N1 = ( SELECT COUNT ( * ) FROM INSERTED) SET @N2 = ( SELECT COUNT ( * ) FROM DELETEED) IF ( @n1 > 0 AND @N2 > 0 ) BEGIN UPDATE A SET IN_QTY = IN_QTY + (I.QTY - D.QTY) FROM TABLEA A JOIN INSERTED I ON A.CODE = I.CODE JOIN DELETED D ON A.CODE = D.CODE END IF ( @N1 > 0 AND @n2 = 0 ) begin UPDATE A SET IN_QTY = IN_QTY + I.QTY FROM TABLEA A JOIN INSERTED I ON A.CODE = I.CODE end if ( @n1 = 0 and @n2 > 0 ) begin UPDATE A SET IN_QTY = IN_QTY - d.QTY FROM TABLEA A JOIN DELETED I ON A.CODE = D.CODE end end

 

 

 

各位朋友,看看下面的代码如何放到一张表里
select code,convert(numeric(8,2),round(price,2)) as price,convert(numeric(8,2),round(price*realgliang,2)) as num from jlbiao
union all
select code,convert(numeric(8,2),round(price,2)) as price,price*convert(float ,smount) as num from kucun_table

 

insert
 
into
 表(列名1,列名2,列名3,列名4)
select code, convert (numeric( 8 , 2 ), round (price, 2 )) as price, convert (numeric( 8 , 2 ), round (price * realgliang, 2 )) as num from jlbiao
union all
select code, convert (numeric( 8 , 2 ), round (price, 2 )) as price,price * convert ( float ,smount) as num from kucun_table

表1
dm mc
2101 A
210101 AA
210102 BB
3101 C
310101 CC
310102 DD

表2
rq user llbmc sl rl zrl je
2010-01 a01 210101-AA 1 2 2 4
2010-01 a01 210101-BB 1 2 2 4
2010-01 a01 210101-CC 1 2 2 4
2011-01 a01 210101-AA 1 2 2 4
2011-01 a01 210101-BB 1 2 2 4
2011-01 a01 210101-CC 1 2 2 4
2010-01 a02 210101-AA 1 2 2 4
2010-01 a02 210101-BB 1 2 2 4
2010-01 a02 210101-CC 1 2 2 4
2011-01 a02 210101-AA 1 2 2 4
2011-01 a02 210101-BB 1 2 2 4
2011-01 a02 210101-DD 1 2 2 4

我想要的汇总结果:

序号 项目 2011年度 2010年度
数量 总容量 总金额 平均单价 数量 总容量 总金额 平均单价
一、 A 4 8 16 16 4 8 16 16
AA 2 4 8 8 2 4 8 8
BB 2 4 8 8 2 4 8 8
二、 C 4 8 16 16 4 8 16 16
CC 2 4 8 8 2 4 8 8
BB 2 4 8 8 2 4 8 8

2011 AA 2 4 8 4 2010 AA 2 4 8 4
2011 BB 2 4 8 4 2010 BB 2 4 8 4
2011 CC 1 2 4 4 2010 CC 2 4 8 4
2011 DD 1 2 4 4 NULL NULL NULL NULL NULL NULL


select *
from (select left(rq, 4) as rq, right(llbmc, 2) as llbmc, sum(sl) as 数量, sum(zrl) as 总容量, sum(je) as 总金额, sum(je)/sum(sl) as 平均单价
from t1 left join t2 on (t1.dm + '-' + t1.mc) = t2.llbmc
where left(rq, 4) = '2011'
group by left(rq, 4), right(llbmc, 2) ) a
left join (select left(rq, 4) as rq, right(llbmc, 2) as llbmc, sum(sl) as 数量, sum(zrl) as 总容量, sum(je) as 总金额, sum(je)/sum(sl) as 平均单价
from t1 left join t2 on (t1.dm + '-' + t1.mc) = t2.llbmc
where left(rq, 4) = '2010'
group by left(rq, 4), right(llbmc, 2) ) b
on a.llbmc = b.llbmc

 

销售表数据如下:

日期 商品 销售数量 销售单格
2010-1-1 A 3 5
2010-1-1 B 4 6
2010-1-2 B 5 7
2010-1-3 A 7 5.5
2010-1-4 B 9 7.5
2010-1-5 A 7 5.5


现 在要计算各商品最近日期销售数量为10时的平均单价
按销售日期倒推,累计销售数量到10时的各商品销售平均价格。

--

--------------------------------------------------------------


--

Author :SQL77(只为思齐老)


--

Date :2010-03-14 10:35:02


--

Version:


--

Microsoft SQL Server 2000 - 8.00.194 (Intel X86)


--

Aug 6 2000 00:57:48


--

Copyright (c) 1988-2000 Microsoft Corporation


--

Desktop Engine on Windows NT 5.1 (Build 2600: Service Pack 3)


--

--

--------------------------------------------------------------


--

> 测试数据:#TB



if

object_id
(
'
tempdb.dbo.#TB
'
)
is

not

null

drop

table
#TB


go



create

table
#TB(
[
日期
]

datetime
,
[
商品
]

varchar
(
1
),
[
销售数量
]

int
,
[
销售单格
]
numeric(
2
,
1
))


insert
#TB


select

'
2010-1-1
'
,
'
A
'
,
3
,
5

union

all



select

'
2010-1-1
'
,
'
B
'
,
4
,
6

union

all



select

'
2010-1-2
'
,
'
B
'
,
5
,
7

union

all



select

'
2010-1-3
'
,
'
A
'
,
7
,
5.5

union

all



select

'
2010-1-4
'
,
'
B
'
,
9
,
7.5

union

all



select

'
2010-1-5
'
,
'
A
'
,
7
,
5.5



--
------------开始查询--------------------------






select

*
,(
SELECT

SUM
(销售数量)
FROM
#TB
WHERE
商品
=
T.商品
AND
日期
>=
T.日期)NUM
INTO
#T


from
#TB T






SELECT
商品,
AVG
(销售单格)销售单格
FROM
#T T


WHERE
日期
>=
(
SELECT

TOP

1
日期
FROM
#T
WHERE
商品
=
T.商品
AND
NUM
>=
10

ORDER

BY
日期
DESC
)


GROUP

BY
商品




--
--------------结果----------------------------


/*



商品 销售单格

---- ----------------------------------------

A 5.500000

B 7.250000



(所影响的行数为 2 行)






*/






declare

@table

table
(

日期

varchar
(
10
),

商品

varchar
(
10
),

销售数量

int
,

销售单格 numeric(

12
,
2
))


insert

into

@table



select

'
2010-1-1
'
,
'
A
'
,
3
,
5

union

all



select

'
2010-1-1
'
,
'
B
'
,
4
,
6

union

all



select

'
2010-1-2
'
,
'
B
'
,
5
,
7

union

all



select

'
2010-1-3
'
,
'
A
'
,
7
,
5.5

union

all



select

'
2010-1-4
'
,
'
B
'
,
9
,
7.5

union

all



select

'
2010-1-5
'
,
'
A
'
,
7
,
5.5







select
日期,商品,销售数量,销售单格,(
SELECT

SUM
(销售数量)
FROM

@table

WHERE
商品
=
a.商品
AND
日期
>=
a.日期) NUM
into
#tmp


from

@table
a




select
商品,
avg
(销售单格)
[
avg
]

from
#tmp a
where
NUM
<=
(
SELECT

MIN
(NUM)
FROM
#tmp b
WHERE
a.商品
=
b.商品
and
NUM
>=
10
)


group

by
商品
2026年AI技能进阶指南:从提示词工程到智能体开发实战 提示词工程作为AI时代的基础沟通技能,其核心原理是通过系统化的交互方法论实现与大模型的高效对话。这项技术通过明确性、具体性和可操作性的设计原则,显著提升了AI生成内容的质量和实用性。在工程实践层面,提示词工程已经发展出角色扮演、步骤分解等成熟模式,广泛应用于代码生成、技术方案设计等场景。随着AI智能体开发的兴起,提示词工程进一步演化为定义智能体身份认知和行为规范的系统接口设计,成为构建自主AI系统的关键技术基础。掌握从基础提示词到智能体开发的完整技能栈,能够帮助开发者在AI技术浪潮中保持核心竞争力。 阅读详情

相关推荐

浅析MOS管导通过程及RC吸收电路设计要点

RC吸收电路 米勒电容 MOS导通过程

liangbo1999的博客 2万+

sql查询近一年的资金总和

你可以使用以下SQL查询来获取近一年的资金总和:SELECT SUM(amount) FROM finances WHERE date > DATE_SUB(CURDATE(), INTERVAL 1 YEAR);

weixin_42602241的博客 342

逆向攻防世界CTF系列40-ReverseMe-120

注意sub_401000main中只传了两个参数,但是跟进后发现四个(可能是隐式传递,放在寄存器里传递了),调试发现a4是输入长度,与最终的you_know_how_to_remove_junk_code比较的是v12(但是并没有被传入),开始怀疑是不是隐式传递了。_mm_xor_si128用于计算128位(16字节)的按位异或,然后通过v14控制循环结束的条件,可以看到v14增长的步长为16,而且通过上面得到的flag值解码得到的字符串为32个字节大小,正好是16的整数倍。

LH1013886337的博客 1410

SQL语句(二)查询语句

1.SQL基本查询语句 SELECT 列名,类名…… FROM 表名/视图名,表名/视图名…… WHERE 条件表达式 GROUP BY 列名1 HAVING 条件表达式 ORDER BY 列名2        根据WHERE子句的条件表达式,从FROM子句指定的基本表或者视图中找出满足条件的元组,再按照SELECT子句中的目标列表达式,选出元组中属性值形成结果表。       如果...

学习笔记 2968

金属粘结剂喷射3D打印技术:工艺流程与后处理关键

金属粘结剂喷射(Binder Jetting)是一种创新的增材制造技术,通过逐层喷射粘合剂将金属粉末粘结成型,再经过脱脂和烧结等后处理工序获得最终零件。这项技术的核心优势在于无需支撑结构、可实现批量生产,并且材料利用率高。在3D打印领域,金属BJ技术特别适合中小尺寸、结构复杂且表面质量要求高的零件生产。其工艺流程包括前期数据处理、打印生胚阶段、拆包与清粉,以及关键的渗透、脱脂和烧结后处理环节。后处理工艺的控制直接决定了零件的机械性能和尺寸精度,其中烧结工艺尤为关键,需要精确控制温度曲线和气氛环境。金属BJ打

weixin_35751194的博客 83

【Cadence】Virtuoso@LayoutXL 差分电路版图同步修改

对于差分电路,器件和部分走线通常是对称的,只需要画一半,另一半通过镜像操作完成。因此,需要对差分电路进行同步的修改,保证电路的差分对称性和正确的连接关系。然而,通常版图会经过多次修改,修改的部分可能在镜像的时候被遗漏。左边画了金属块,右边也出现了同步出现了金属块。进入group会有同步复制的提示。

乾巽的博客 3049

SQL Server 从数据库中查询去年的今天的数据的sql语句

因为最近的项目的一个小功能需要实现当前数据和历史的今天做一个对比。在网上也查了很久,很多都是实现一个月内的,一年内的所有数据,昨晚突然就找到了下面的实现方法,在SQL Server2008中试了一下,正是我想要的结果。故写了一个随笔,如果以后还需要可以方便查找,另外也希望可以帮到需要的人。 Select * From History where savetime=(select dateAdd(...

weixin_34321753的博客 2541

量化爬虫第一步:手把手教你搞定同花顺问财的hexin-v参数(附JS逆向实战)

本文详细介绍了如何通过JS逆向技术破解同花顺问财数据接口的核心加密参数hexin-v,构建稳定可靠的量化数据采集方案。从抓包分析到Cookie Hook技术应用,再到环境补全与参数生成实现,手把手教你完成量化爬虫的第一步。文章还提供了实战注意事项与优化建议,帮助开发者规避常见问题。

weixin_42620202的博客 303

求当月、前月的每天数据总量和去年、今年的每月数据总量SQL语句(MySql)

1、获取当月的每天数据总量: SELECT count(1) AS 别名, DAY(时间字段名) as 别名 FROM 表名 WHERE MONTH(时间字段名) = MONTH( NOW( ) ) GROUP BY DAY(时间字段名) 2、获取前月的每天数据总量: SELECT count(1) AS 别名, DAY(时间字段名) as 别名 FROM 表名 WHERE MONTH(时间字段名) = MONTH( NOW( ) )-1 ...

qq_36457575的博客 1046

AutoSAR系列讲解(入门篇)2.4-Runnables可运行实体

讲解一下Runnable和其工程的实际映射

雪云飞星的博客 3万+

在Simulink中实现一个基于SiC MOSFET的高效率电机驱动系统

本文介绍了在Simulink中构建基于SiC MOSFET的高效率电机驱动系统的详细流程。系统由直流电源模块、SiC MOSFET逆变器模块、PMSM电机模型、控制策略模块(包括矢量控制和PWM生成)以及反馈测量模块组成。文章逐步指导了从模型创建到参数设置的完整过程,包括各模块的具体实现方法。通过仿真可以评估系统在不同负载条件下的响应速度、效率、功率密度等性能指标。该建模方法为电机驱动系统的设计和优化提供了有效工具,同时建议根据实际硬件规格和工程需求进行参数调整和定制化开发。

xiaoheshang_123的博客 248

sql 查询明细并汇总_SQL查询语句-汇总分析

一、SQL汇总查询语句1、汇总函数2、汇总函数举例①求某列的行数select count(教师姓名) from teacher;②求所有列的行数select count(*) from teacher;求某列数据删除重复值后的行数select count(distince 姓名) from student③求某列数据之和select sum(成绩) from score;④求某列数据的平均值...

weixin_39725873的博客 8459

【数据结构】期末考试复习(考点+例题)

1.线性表定义及其存储实现:顺序表和链接表,优缺点分析(顺序存储可随 机访问,链式存储可灵活利用空间),相关操作的时间复杂度。 2.链表的插入删除操作 3.两种特殊的线性表及其应用:栈、队列 4.栈、队列上的(插入/删除)操作及其特点 5.循环队列满和空的条件 6.能够定义线性表、栈、队列的数据存储结构,能够实现相关操作的算法并 分析时间复杂度(例如插入、删除及其它应用等) 7.理解线性结构的应用( 如根据要求能灵活定义线性表结构,能根据线性表 的插入、删除操作解决实际问题) 二叉树基本概念与性质(高

Molly 的博客 9367

SQL server简单查询和汇总查询

文章目录SQL server简单查询和汇总查询涉及单表的简单查询涉及单表的汇总查询 SQL server简单查询和汇总查询 难得自己写一次实验报告。 涉及单表的简单查询 a. 在KC表中,查询第2学期开课的课程、授课教师 b. 在XSQK表中,查询女同学的姓名和电话号码 c. 在XS_KC表中,查询成绩在80分以上的学号、课程号和成绩 d. 在XS_KC表中,查询在80以上和不及格学生的信息...

步步心愿的博客 4522

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

各种SQL查询技巧汇总

基本常用查询 select select * from student; all 查询所有 select all sex from student; distinct 过滤重复 select distinct sex from student; count 统计 select count(*) from student; select count(sex) from student; ...

yhquser的博客 1379

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

sql基础语句汇总_SQL查询语句-汇总分析

一、SQL汇总查询语句1、汇总函数2、汇总函数举例①求某列的行数select count(教师姓名) from teacher;②求所有列的行数select count(*) from teacher;求某列数据删除重复值后的行数select count(distince 姓名) from student③求某列数据之和select sum(成绩) from score;④求某列数据的平均值...

weixin_28711397的博客 6256

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

sql 查询明细并汇总_数据分析-SQL汇总查询

1. 课程练习作业-- 查询课程编号为0002的总成绩 select sum(成绩) from 成绩表 where 课程号='0002'; -- 选了课程的人数 select count(distinct 学号) from 成绩表; -- 查询各科成绩的最高分和最低分 select 课程号,max(成绩),min(成绩) from 成绩表 group by 课程号; -- 查询每门课程被选...

weixin_39976251的博客 922

SQL查询语句-汇总分析

求某列数据删除重复值后的行数select count(distince 姓名) from student。列名 (not) in ( ):查询结果是括号里的内容返回值1,排在后面;否则返回值0,排在前面。错误1:在分组条件having中使用了查询结果select里的别名。错误3:在创建表时把数值数据设置成字符串数值。错误2:在行条件where后使用了汇总函数。

ctmedia的博客 3405

sql 查询总和_关于SQL的汇总分析

1.汇总分析1.1 查询课程编号为“0002”的总成绩:使用select、from、where语句,以及sum函数1.2 查询选了课程的学生人数:注意这里是选了课程,所以要从score表中来选,而不是从学生表中来选。且要定义学生人数,用as语句。2.分组2.1查询各科成绩最高和最低的分:以课程号分组,且没有使用where查询条件2.2查询每门课程被选修的学生数:按照课程号分组,学号列的计数即为选修...

weixin_39842937的博客 3979

SQL查询语句汇总

我们学习必然是为了找到高薪的工作,下面这些。

nhb687096的博客 1389

【SQL Server】查询和汇总数据库的数据

本文主要对基于SQL数据库的查询与数据整理汇总等操作进行初学演示,展示了单表查询、多表查询、连接查询和聚合查询多种查询方式,并且使用聚合函数计算、统计、汇总、检索结果,熟悉了多种查询条件的设置。

m0_53450494的博客 5014

sql查询成绩最高分_SQL之汇总分析

最近学习了SQL的汇总分析,内容涵盖了汇总函数,分组,对分组结果指定条件,用sql解决业务问题,对查询结果排序,如何看懂报错信息,我把这些知识点整理如下:一:章节练习题1、问题:查询课程编号为“0002”的总成绩解答:select sum(成绩) as 总成绩 from score where 课程号='0002'; 问题:查询选了课程的学生人数解答:select count(distin...

weixin_39595320的博客 1万+

sql 查询明细并汇总_SQL之汇总分析,哦耶!

本文涵盖3部分:School数据库包含的4张报表:student、score、course和teacher,报表明细及主键;SQL知识点框架:汇总、分组、对分组结果指定条件、对查询结果排序和如何看懂报错信息;实操截图:与知识点一一对应,从实践中不断得到提升;下图是本期SQL语句所涉及的4张报表,别看表格很小,其实能量巨大,真实业务场景会涉及更多报表以及海量数据,两者的本质一样,区别在于数据量的多寡...

weixin_39736547的博客 917

sql查询语句_多字段分类汇总_多表合并

一、最初(最简单的入门实例,单个分类汇总) 1,查询语句/*药品费用分科室汇总*/ select c.sksxx02,sum(nvl(b.nfyxx06,0))         from yygli60 a,yygli30 b,yygl140 c,yygl101 d

k486的专栏 2万+

sql查询成绩最高分_利用SQL进行汇总分析

通过本文学习,即可掌握基本的SQL汇总分析目录:1.汇总分析2.分组3.对分组结果指定条件4.用SQL解决业务问题5.对查询结果排序6.如何看懂报错内容7.综合练习本文所有内容基于四张表格<student><teacher><score><course>studentteacherscorecourse1.汇总分析1.1汇总函数count(教师姓名)...

weixin_39895862的博客 886

sql 查询明细并汇总_SQL之复杂查询

本文涵盖3部分:School数据库包含的4张报表:student、score、course和teacher,报表明细及主键;SQL知识点框架:视图、子查询、标量子查询、关联子查询、如何用sql解决业务问题和各种函数;实操截图:与知识点一一对应,从实践中不断得到提升;下图是本期SQL语句所涉及的4张报表,别看表格很小,其实能量巨大,真实业务场景会涉及更多报表以及海量数据,两者的本质一样,区别在于数据...

weixin_39654751的博客 506
上一篇: sql行转列
下一篇: 概述
ldongwei
博客等级 码龄18年 20粉丝 208原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值