由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 请教一个刚被问的sql问题
相关主题
SQL interview question想问问哪里可以找到DB或者SQL的面试题?
考大家一道SQL面试题问个SQL query
问道面试题发两个可能简单的面试问题问问答案~ 谢
SQL multiply all values of a column in table (转载)这题怎么做
问个SQL一道CompleteBook上的SQL题
SQL面题,大家练练吧问一道SQL
一个简单的SQL查询题初级SQL问题
请教个SQL的问题请教SQL问题
相关话题的讨论汇总
话题: sql话题: sum话题: select话题: table话题: row
进入JobHunting版参与讨论
1 (共1页)
y*******g
发帖数: 6599
1
一个table中的key是auto increment, 从1到十万
随机删除一 row
要求写出sql语句找出被删的row的key
不用sql的话是老题目了,把数字加起来或者xor什么就好了.
用sql还能做这个么? 要怎么写?
谢谢
H*****9
发帖数: 29
2
sum of 1 to 100000 is 5000050000
SQL:
SELECT Sum(Table.Key) AS Sum, 5000050000-[Sum] AS RowKey
FROM Table;
y*******g
发帖数: 6599
3
10万只代表数量级. 不是固定的数字呢.

【在 H*****9 的大作中提到】
: sum of 1 to 100000 is 5000050000
: SQL:
: SELECT Sum(Table.Key) AS Sum, 5000050000-[Sum] AS RowKey
: FROM Table;

B*****g
发帖数: 34098
4
你不说什么数据库,什么版本,怎么回答?

【在 y*******g 的大作中提到】
: 10万只代表数量级. 不是固定的数字呢.
y*******g
发帖数: 6599
5
他也没说...

【在 B*****g 的大作中提到】
: 你不说什么数据库,什么版本,怎么回答?
B*****g
发帖数: 34098
6
SELECT (1+COUNT(1))*COUNT(1)/2 - SUM(key)
FROM table;
其实我是想说要删去n个,把n个全找出来

【在 y*******g 的大作中提到】
: 他也没说...
x******h
发帖数: 13678
7
再加个max变量hoho

【在 H*****9 的大作中提到】
: sum of 1 to 100000 is 5000050000
: SQL:
: SELECT Sum(Table.Key) AS Sum, 5000050000-[Sum] AS RowKey
: FROM Table;

H*****9
发帖数: 29
8
that will be a complex.
you have to count current row first, as KeyCount
if KeyCunt equal to last rowkey
then last row has been deleted
else
SumNew=(1+KeyCount+1)*(1+KeyCount)/2
run SQL:
SELECT Sum(Table.Key) AS Sum, SumNew-[Sum] AS RowKey
FROM Table;
endif
H*****9
发帖数: 29
9
just curious. which company you interviewed with?
y*******g
发帖数: 6599
10
一个弯曲的小公司

【在 H*****9 的大作中提到】
: just curious. which company you interviewed with?
相关主题
SQL面题,大家练练吧想问问哪里可以找到DB或者SQL的面试题?
一个简单的SQL查询题问个SQL query
请教个SQL的问题发两个可能简单的面试问题问问答案~ 谢
进入JobHunting版参与讨论
H*****9
发帖数: 29
11
Best wishes!
y*******g
发帖数: 6599
12
thanks

【在 H*****9 的大作中提到】
: Best wishes!
b***y
发帖数: 2799
13
select top 1 auto_num - 1 from table where auto_num <> recnum;

【在 y*******g 的大作中提到】
: 一个table中的key是auto increment, 从1到十万
: 随机删除一 row
: 要求写出sql语句找出被删的row的key
: 不用sql的话是老题目了,把数字加起来或者xor什么就好了.
: 用sql还能做这个么? 要怎么写?
: 谢谢

M*m
发帖数: 141
14
select X.a
from
(
select A as a, B as b
from A left outer join B on (A+1=B)
) as X
where X.b is null.
L*******r
发帖数: 8961
15
如果是SQL Server的话,可以用Common Table Expression解决。
WITH [T] AS
(SELECT ROW_NUMBER() OVER (ORDER BY key ASC) AS ROWID FROM table)
SELECT T.[RowID]
FROM T LEFT JOIN table ON T.[ROWID] = table.[key]
WHERE table.[key] IS NULL
如果以上的SELECT没有返回结果的话,删掉的就是最后一个最大的数。因为一般
Auto Number的列都是有Index的,所以以上的操作会比较快。
不知道其他的数据库管理系统有没有CommonTableExpression。
L*******r
发帖数: 8961
16
The last number no longer exists after the deletion, but the seed remains.
c**t
发帖数: 2744
17
delete TBL WHERE ... RETURNING rowid INTO

【在 y*******g 的大作中提到】
: 一个table中的key是auto increment, 从1到十万
: 随机删除一 row
: 要求写出sql语句找出被删的row的key
: 不用sql的话是老题目了,把数字加起来或者xor什么就好了.
: 用sql还能做这个么? 要怎么写?
: 谢谢

a******5
发帖数: 199
18
Is this T-SQL of SQL Server or just ANSI-SQL?
I've never seen the syntax before.

【在 L*******r 的大作中提到】
: 如果是SQL Server的话,可以用Common Table Expression解决。
: WITH [T] AS
: (SELECT ROW_NUMBER() OVER (ORDER BY key ASC) AS ROWID FROM table)
: SELECT T.[RowID]
: FROM T LEFT JOIN table ON T.[ROWID] = table.[key]
: WHERE table.[key] IS NULL
: 如果以上的SELECT没有返回结果的话,删掉的就是最后一个最大的数。因为一般
: Auto Number的列都是有Index的,所以以上的操作会比较快。
: 不知道其他的数据库管理系统有没有CommonTableExpression。

c**t
发帖数: 2744
19
both SQL server 2005+ and Oracle support this syntax

【在 a******5 的大作中提到】
: Is this T-SQL of SQL Server or just ANSI-SQL?
: I've never seen the syntax before.

a******5
发帖数: 199
20
Thank you.

【在 c**t 的大作中提到】
: both SQL server 2005+ and Oracle support this syntax
1 (共1页)
进入JobHunting版参与讨论
相关主题
请教SQL问题问个SQL
再请教SQL问题SQL面题,大家练练吧
被一个面试题卡的泪流满面 SQL一个简单的SQL查询题
Linkedin电面的一道SQL题请教个SQL的问题
SQL interview question想问问哪里可以找到DB或者SQL的面试题?
考大家一道SQL面试题问个SQL query
问道面试题发两个可能简单的面试问题问问答案~ 谢
SQL multiply all values of a column in table (转载)这题怎么做
相关话题的讨论汇总
话题: sql话题: sum话题: select话题: table话题: row