郁闷了,关于网页里数据排序错乱的问题……
具体我也不知道怎么描述,毕竟我不是这方面的专业人士。
如图,原本这个页面是根据右侧时间降序排列的,也就是时间最新的一条在最上边……后来不知道为啥变成了这种乱七八糟的顺序。
原来管这个的人跑路了,人根本都找不到,而且这玩意儿太古老了,做这个的公司也没人弄了……
但是还必须得用,暂时没更好的替换。
跑到后台看了看代码,网页代码按照我的理解应该是没啥问题才对= =网页代码里写的是按照事件ID排序的,事件ID都是按照事件时间生成的,应该错不了,数据库里看着也挺正常的= =
但是在前台返回数据以后就这副模样……
在什么都没动得情况下发生的,真诡异……
有木有人知道怎么回事= =帮忙分析一下……
仅从lz你给出的网页排序来看 select时候进行了两次操作
1一次是按照用户名称进行 group by
2一次是根据报警时间进行order by
group by的优先级默认高于order by 所以会有用户名称相同的在一起 然后再按照报警时间排序的现象
改sql语句即可 唔,根据用户名称这个应该是靠谱的,之前有感觉哪里不对劲,虽然乱序但是仍然能感觉到规律…………
不过这个我是真心不大懂……我再琢磨琢磨= = zerocount 发表于 2014-10-23 10:17
仅从lz你给出的网页排序来看 select时候进行了两次操作
1一次是按照用户名称进行 group by
2一次是根据报 ...
只找到了order by……group by真心没找到= = 把你找到的sql发出来看下吧 nuclearg 发表于 2014-10-24 08:20
把你找到的sql发出来看下吧
找到的这一段,想来想去,翻来覆去感觉应该是这里
我这玩意儿不懂,说实话完全是靠着当年堆这玩意儿有一点印象才硬着头皮去搞的orz
Select KeyTable="ed_event_list" PkField="Event_id" PageField="Event_id"From=" left join ed_user_list oned_event_list.Event_user_number=ed_user_list.user_numberleft join ed_pz_alarm on ed_pz_alarm.alarm_code=ed_event_list.Event_alarm_code" Order=" Order By Event_id Desc" 你看那最后的ORDER明明是by ID的……找出时间的字段名,替换 Event_id Desc即可 本帖最后由 CPZ 于 2014-10-24 16:28 编辑
绕指流光 发表于 2014-10-24 16:00
你看那最后的ORDER明明是by ID的……找出时间的字段名,替换 Event_id Desc即可
这个我在数据库里看了一下,本来在数据库里,生成的ID和时间在排序上是关联的,ID的降序和时间的降序都可以,我也试过把这里换成时间降序,这是我最初想到的,不过结果没啥区别……
这个应该是楼上另一个大神说的那种,表单首先是不知道在啥地方被分类了一次,然后再按照ID降序排序,因为表里姓名或者用户ID一致的被分到了一起,然后单个用户ID的信息执行了降序处理……
问题是我看了一圈也没找到第一次这个分类到底在哪里= =而且之前没人动过,不晓得为啥忽然就这样了……
页:
[1]