sql的select是默认按照正序读取数据库记录,现有一张table,里面的filed都不能作为order by的条件,类似:
-----------------------
filed1 filed2
张三 经理
李四 厨子
王老五 会计
-----------------------请问如何将这个表倒序,就是把王老五放在第一个,读取出来?谢谢谢谢!!!!
-----------------------
filed1 filed2
张三 经理
李四 厨子
王老五 会计
-----------------------请问如何将这个表倒序,就是把王老五放在第一个,读取出来?谢谢谢谢!!!!
解决方案 »
- 只显示同一品牌今天最后一条数据,和前一天最后一条数据,将他们在一行中显示。
- mysql 在DOS下无法输入中文!请教
- mysql 正则表达式的问题
- 实际值是相同,但被加上不同的字符,还能比对相等吗?
- mysql(服务器版本: 5.0.51b-community-nt-log)乱码,查了很多资料也不行,请高手指点
- 高手请进,dos 下不能进入数据库是怎么回事?
- mysql中的数据库表win下面有什么可视化工具查看修改吗?(没装mysql服务器的情况下)
- window2000取得linux下的My Sql数据库数据!?
- 在windows98+apache+php+mysql环境下怎样配置才能访问cgi-bin目录?
- mysql 如何对大表进行连接操作
- 为什么我的触发器不能执行
- 再问,还没解决(同一字段插入到两个表,主要是还有别的数据分别插入!last_id()怎么用)
SELECT * FROM TT ORDER BY IIF(filed2='会计',1,iif(filed2='厨子',2,3))
将IIF改为你的数据库支持的函数
有没有不用order by具体的filed的方法?谢谢!
没有
UPDATE TT SET 字段=IIF(filed2='会计',1,iif(filed2='厨子',2,3))
再按这个字段排序即可
但是按理说sql可以正序读出也应该可以倒序啊。呵呵
-----------------------
filed1 filed2
张三 经理
李四 厨子
王老五 会计
-----------------------
如果只是仅最后一行调整到第一
-----------------------
filed1 filed2
王老五 会计
张三 经理
李四 厨子
----------------------- 用union即可select * from yourTable where filed1='王老五'
union all
select * from yourTable where filed1!='王老五'[align=center]==== 思想重于技巧 ====
[/align]
-----------------------
filed1 filed2
王老五 会计
李四 厨子
张三 经理
----------------------- 则一个方法是,添加一个 filed3,然后把自然数序号填进去,
select * from yourTable order by field3 desc;[align=center]==== 思想重于技巧 ====
[/align]
no,就是一些乱七八糟的数据,只是添加数据的时候是追加进去的。
现在想用sql实现从最末开始读;或者读出来之后可以倒序排列。
发觉我自己没有说清楚,引起误会,sorry!我意思是倒序读出来,我的table 中有上千数据,但是希望倒序读取出来,而不是默认的正序读取;
另外,table当中的filed都是无需一些data,所以无法用作order by的参数使用。
select Identity(int,1,1) as id, * into ##temp from bygz order by id desc
即可按倒序取出记录