mysql能修改表的默认排序规则么
我检索数据的时候比如 select acolumn from tablename where revision = 'xxxxx'如果这个revision有多条 输出的结果貌似是按id升序排列的
我想实现查询的时候默认按降序排列,最新的结果显示在最前面。但不修改select语句,还用前面的:
select acolumn from tablename where revision = 'xxxxx'
有方法么?
我试了网上查到的alter table tablename order by id desc不行。。。
求解答。。。谢谢 自己select的时候order,
如果要修改默认的规则,那么就从create index开始,这个情况可能会有点复杂了,
首先看你的select语句,会采用那个index,然后修改啊 本帖最后由 chengchow 于 2014-10-29 13:46 编辑
select acolumn from tablename where revision = 'xxxxx' order by id desc ;
alter table tablename add index index_name (id) desc; 本帖最后由 4brightdays 于 2014-10-30 16:00 编辑
不能在select语句里面添加order by, 那个要去改程序很麻烦,所以我就想用这种方法规避改程序
怎么查看select语句用的哪个index?
我用楼下的方法创建了id的降序index 但是不用order by的时候查询出来还是升序排列
因为这个表不是给正式的流程用的 不想因为这东西去改程序
回复 2# action08
我按您的指示创建了id的降序索引 不带order by查询还是升序排列。。。。
回复 3# chengchow
本帖最后由 chengchow 于 2014-10-30 16:52 编辑
好像是这问题,我看看! 怎么样?这种方法可行吗?
回复 6# chengchow
本帖最后由 chengchow 于 2014-10-31 15:31 编辑
回复 7# 4brightdays
测试了下确实只能顺序排列,不知道为什么逆序不成功
最近有些事需要忙,你要不自己去查下资料,看看我是不是漏了什么
谢谢啦。
我查了下,mysql虽然在创建索引的时候给出了desc关键字,是为了以后扩展,并没有实现这个功能。坑爹啊。
回复 8# chengchow
页:
[1]