Foxtable(狐表)用户栏目专家坐堂 → 向大家请教一条SQL语句。


  共有10673人关注过本帖树形打印复制链接

主题:向大家请教一条SQL语句。

帅哥哟,离线,有人找我吗?
狐狸爸爸
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
向大家请教一条SQL语句。  发帖心情 Post By:2012/9/29 11:53:00 [只看该作者]

有一列,值为:

 

1

1.01

1.5

2

3

3

3.4

3.45

4

...

 

希望执行一条SQL语句后,能将此列的值按顺序调整为:

 

1

2

3

4

5

6

7

8

9

10

...

[此贴子已经被作者于2012-9-29 11:54:29编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/9/29 12:26:00 [只看该作者]

没有看明白。


 回到顶部
帅哥哟,离线,有人找我吗?
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2012/9/29 12:43:00 [只看该作者]

 --不知道是不是这个意思,创建一个包含整数列的表,把数据放进去
CREATE TABLE TEST(Val REAL)
INSERT INTO TEST (Val) VALUES (1)
INSERT INTO TEST (Val) VALUES (1.01)
INSERT INTO TEST (Val) VALUES (1.5)
INSERT INTO TEST (Val) VALUES (2)
INSERT INTO TEST (Val) VALUES (3)
INSERT INTO TEST (Val) VALUES (3)
INSERT INTO TEST (Val) VALUES (3.4)
INSERT INTO TEST (Val) VALUES (3.45)
INSERT INTO TEST (Val) VALUES (4)

CREATE TABLE TEST1(Val INT)
INSERT TEST1(Val)
(SELECT VAL FROM TEST)

SELECT * FROM TEST1

DROP TABLE TEST1
DROP TABLE TEST

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/9/29 12:49:00 [只看该作者]

呵呵,多谢飞,能否不创建表,直接用sql语句更新原列的数据?

 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/9/29 12:57:00 [只看该作者]

提供个思路,先生成一个临时表,把SQL表中的数据按要求加入,再把临时表中的数据加入SQL表。


 回到顶部
帅哥哟,离线,有人找我吗?
lihe60
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:6885 积分:43595 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2012/9/29 13:03:00 [只看该作者]

以下是引用在2012-9-29 12:43:00的发言:
 --不知道是不是这个意思,创建一个包含整数列的表,把数据放进去
CREATE TABLE TEST(Val REAL)
INSERT INTO TEST (Val) VALUES (1)
INSERT INTO TEST (Val) VALUES (1.01)
INSERT INTO TEST (Val) VALUES (1.5)
INSERT INTO TEST (Val) VALUES (2)
INSERT INTO TEST (Val) VALUES (3)
INSERT INTO TEST (Val) VALUES (3)
INSERT INTO TEST (Val) VALUES (3.4)
INSERT INTO TEST (Val) VALUES (3.45)
INSERT INTO TEST (Val) VALUES (4)

CREATE TABLE TEST1(Val INT)
INSERT TEST1(Val)
(SELECT VAL FROM TEST)

SELECT * FROM TEST1

DROP TABLE TEST1
DROP TABLE TEST

关键一点,不能使用列举法。如果有10万,列举起来要死人的。


 回到顶部
帅哥哟,离线,有人找我吗?
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:5491 威望:0 精华:14 注册:2011/8/28 12:49:00
  发帖心情 Post By:2012/9/29 13:53:00 [只看该作者]

 SELECT ROUND(Val,0) FROM TEST ORDER BY ROUND(Val,0)

 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/9/29 14:10:00 [只看该作者]

假如表名为TB,数据列是SJ:

 

SELECT (SELECT COUNT(*) + 1 FROM TB WHERE SJ > t.SJ) AS ID, SJ FROM TB t ORDER BY SJ DESC

 

如果要替换列值,前面只要再加上update等相关的语句就行。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/9/29 14:13:00 [只看该作者]

呵呵,帮我吧update语句也加上。

 

图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
reachtone
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:版主 帖子:1993 积分:19409 威望:0 精华:20 注册:2008/9/2 10:09:00
  发帖心情 Post By:2012/9/29 14:22:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:11.jpg
图片点击可在新窗口打开查看

sql语句是通过的,如果想用update直接更新的话,刚试了下,不行。有空再看看,有点事先忙。


 回到顶部
总数 14 1 2 下一页