sql奇数行
1. sql中统计 奇行数 和偶行数的 总数的SQL语句
什么意思? select count(*) from 表 where 条件 (满足条件总行数) 如果总行数是偶数,那奇行数=偶行数=总行数/2 如果总行数是奇数,那奇行数=总行数/2+1,偶行数=总行数/2
希望采纳
2. 3. 查询语句select * from 销售人员的结果是所有记录,如何只显示奇数行/偶数
这跟你的具体数据库有关,你可以先查一下你用的数据库里如何生成连续的序号,之后用序号与2取余就行了,比如说象sql server 2005以上版本,就可以用类似于
3. 如何用一句sql语句查询出emp表的奇数行
with B as(SELECT ROW_NUMBER()over ( order by 列名) 序号,
FROM 表名)
select B.* from B where B.序号%2 = 1
--SQL的写法,ORACLE估计也差不多,函数名字可能会不一样,家里没ORACLE实验不了
4. SQL怎么判断查奇偶数
首先第一句话:虽然我不知到这两个数是什麽,但我知道你一定也不知道。 从这句话说明孙手里拿到的两个数肯定都不是素数(什么是素数?就是除了1和它本身以外不再有其他因数的自然数),不然的话,孙通过知道庞的和就可以唯一判断出这两个数字了
推理一:比如A=a+b,B=a*b;B=15,A=8,那么很容易就猜想到了a=3,b=5 (因为对15进行拆分只有一种可能),所以对庞的第一句话产生了矛盾;那么a,b两个数可能是一个奇数,一个偶数;另外有位大神认为任意大于4的偶数都能被拆成两个奇质数之和,但由于两个质数都要小于99,所以庞手上的数可能为偶数,但这个偶数会接近200(有182,184,188,190,192,196和198),除此之外,只可能是奇数;举例:如果庞涓手上是28,可以拆成11+17,当孙膑拿到了187这个积,马上就可以猜出鬼谷子给他的两个数是11和17,与庞涓肯定孙膑不知道这两个数相矛盾,因此有可能拆成两个2-99的质数和的数都要排除因此有可能拆成两个2-99的质数和的数都要排除
推理二:庞的和数一定不是大于55的数。因为大于53的数始终能够拆成质数53和另一个大于2的数,在2-99的限制下,这两个数的乘积只有这唯一一种拆分方法。举例:如果庞手上的和数是57,可以拆成53+4,当孙膑拿到212这个积,只有4*53这一种拆分可能性,因为2*106的另一种拆分方法导致有一个数超过99。由此排除55以上的所有所有数因此最后满足以上条件的这样的数字仅有11个:11,17,23,27,29,35,37,41,47,51,53。
第二句话:本来我不知道,现在知道了;这说明孙看了自己手上的积后,分解因式对应的所有拆分情况中有且仅有一种,两个因数的和是以上11个数中的一个。
第三句话:那我也知道了;由于庞涓并不知道两数积,所以只能从以上表格出发确定,最后得到两个数字分别是4和13
也许上面的解析并不通俗易懂,其中涉及到很多数学知识和推理能力,如果感兴趣可以基于上述讲解自行进行推导;其实这道题的本质是基于每次的问题进行排除,尽可能的缩小范围,最后得到结果;那么最后通过SQL的方式来解决这类问题,或许通过sql(基于HQL)的方式可以帮助读者更加清晰理解
5. sql 使用游标来删除表中奇数行的记录
似乎用游标有点大才小用了。
新建表来测试即可
CREATE DATABASE test;
USE test;
CREATE TABLE test(
id INT PRIMARY KEY NOT NULL AUTO_INCREMENT
);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
INSERT INTO test VALUES(NULL);
DELETE语句:
DELETE FROM test WHERE (id%2)=1;
SELECT * FROM test;
效果:
6. 在SQL Server 2000中如何查询一个表中字段的奇数行谢谢
一个简单的方法:
要有个自动编号字段,没有的话加一个,下面为“id”。
SQL语句为:(即模2余1为奇数。)
SELECT 表1.*
FROM 表1
WHERE (((表1.id mod 2)=1));
当然你筛掉输出中的偶行的也可以,SQL语句为:
SELECT 表1.*
FROM 表1
WHERE (not((表1.id mod 2)=0));
其他方法也有无数,例如用“in”或“not in”……
7. 用PL/SQL语句求100以内的奇数和偶数和(if和for结构)
--PL/SQL块形式的:
DECLARE
i NUMBER;
nj NUMBER := 0;
no NUMBER := 0;
BEGIN
FOR i IN 1 .. 100 LOOP
IF MOD(i, 2) = 1 THEN
nj := nj + i;
ELSE
no := no + i;
END IF;
END LOOP;
dbms_output.put_line('奇数和:' || nj);
dbms_output.put_line('偶数和:' || no);
END;
/
--一句话的:
SELECT SUM(CASE
WHEN MOD(rownum, 2) = 1 THEN
rownum
END) 奇数和,
SUM(CASE
WHEN MOD(rownum, 2) = 0 THEN
rownum
END) 偶数和
FROM al
CONNECT BY rownum <= 100;
8. 用sql语句如何实现提取奇数序列数据
select * from AA where num%2 = 1