① sql查询统计结果为奇数的记录
没看懂你到底想要什么,告诉你个方法吧先
如果一个数,如果能被2整除,那么它四舍五入不含小数位的时候和它本身相等
如果不相等的话,那么这个数就是奇数
round(4/2)=4/2
round(5/2)<>5/2
还有,你的除号写的不对
-------补充--------
select a.who from
(select who,when,count(*) as num from test group by who,when) a
where round(a.num/2)<>a.num/2
② 在试听中如何用SQL选中从表选取所有列
在SQL语言中,SQL选择列表(select_list)指出所查询列。
SQL选择列表可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。
选择所有列,例如,下面语句显示testtable表中所有列的数据:
SELECT*
FROM testtable
③ SQL(SQL server 2008)实现插入奇数和偶数
--测试环境MSSQL2008
--查询
;
WithT
As
(
Select1Asa,2Asb
Unionall
Selecta+2,b+2FromtWherea<10000
)
Select*FromT
Option(MAXRECURSION32767)
--一次插入6万以内的(如果表不存在)
;
WithT
As
(
Select1Asa,2Asb
Unionall
Selecta+2,b+2FromtWherea<10000
)
Selectaas奇数,bas偶数into表FromT
Option(MAXRECURSION32767)
--一次插入6万以内的(如果表已存在)
;
WithT
As
(
Select1Asa,2Asb
Unionall
Selecta+2,b+2FromtWherea<10000
)
InsertInto表
Select*FromT
Option(MAXRECURSION32767)
--一次插入4096以内的,还可以用这个
Insertinto表
Selectnumber*2+1As奇数,(number+1)*2As偶数Frommaster.dbo.spt_values
Wheretype='P'
④ 怎么用SQL语句取奇偶数
select * from tableA where abc%2 = 1
⑤ SQL中如何取得一个按奇数偶数排列,用游标
虽然不是十分明白你想问什么,但是应该没那么复杂,不需要游标,两次order by 即可。
第一次order by 按照先奇后偶排列,第二次在 奇偶内部 按照从小到大排列。
select*fromA_14073003
idi
5A59C239-34A5-4DC4-BB9E-84E618F205571
A2C647AB-EBC6-437A-B20B-B601ED32E6A62
3DE360FD-6380-4661-A0BB-A983C43C5DB83
FBC0A6F5-2DD9-47C9-93FB-0662B03CE8204
E5219DBF-F00A-427A-A0A8-7A5631EF55715
BE079BED-A9A5-461F-9D73-2AB884D909886
A150A811-556F-4E72-B1C0-EFEF2FDE4A627
C41CAEB4-6B72-4DD7-BC4C-ED74F17741818
9A439763-9D99-427D-9D9D-16459C20FE959
94B429B5-633F-4684-B003-7C6AC4DFBBD010
select*fromA_14073003orderby(i%2)desc,iasc
idi
5A59C239-34A5-4DC4-BB9E-84E618F205571
3DE360FD-6380-4661-A0BB-A983C43C5DB83
E5219DBF-F00A-427A-A0A8-7A5631EF55715
A150A811-556F-4E72-B1C0-EFEF2FDE4A627
9A439763-9D99-427D-9D9D-16459C20FE959
A2C647AB-EBC6-437A-B20B-B601ED32E6A62
FBC0A6F5-2DD9-47C9-93FB-0662B03CE8204
BE079BED-A9A5-461F-9D73-2AB884D909886
C41CAEB4-6B72-4DD7-BC4C-ED74F17741818
94B429B5-633F-4684-B003-7C6AC4DFBBD010