SSH里面怎样对两个字段排序?

k_c_u_f 2016-01-24 04:52:55
 hsql="from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc";

这是根据Date字段排序的,现在想增加一个排序字段Time,先对Date排序,再对Time排序,应该怎样写呢?
...全文
170 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
k_c_u_f 2016-01-25
  • 打赏
  • 举报
回复
引用 1 楼 shixitong 的回复:
……order by Date desc,Time asc
试过,没用,还是只对Date排序
k_c_u_f 2016-01-25
  • 打赏
  • 举报
回复
引用 4 楼 a510835147 的回复:
hsql="select * from (select * from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc"
*号那个地方报错
_追逐梦想_ 2016-01-25
  • 打赏
  • 举报
回复
hsql="select * from (select * from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc"
Cansluck 2016-01-25
  • 打赏
  • 举报
回复
就直接在order by 后面拼接多个待排序的字段即可。 xDDDDDDDDD
Earl_yuan 2016-01-25
  • 打赏
  • 举报
回复
hql和sql基本一样,所以sql可以对多个字段排序,就像楼上说的,那么对于hql也可以这样排序
很难搞定 2016-01-25
  • 打赏
  • 举报
回复
你们用字符串拼接SQL 不怕被注入吗
k_c_u_f 2016-01-25
  • 打赏
  • 举报
回复
引用 11 楼 a510835147 的回复:
[quote=引用 9 楼 k_c_u_f 的回复:] [quote=引用 8 楼 a510835147 的回复:] [quote=引用 6 楼 k_c_u_f 的回复:] [quote=引用 4 楼 a510835147 的回复:] hsql="select * from (select * from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc"
*号那个地方报错[/quote] 噢噢 hsql=" from Xa where id in (select id from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc" 这样应该就可以了,再试试,这个id是主键列[/quote] 这样实际上没有对Date排,只是对Time排了[/quote] 排了呀,先对date排,再对time排 。对date排是里面是那个子查询 对time排是外面那个查询 ,先对Date排序,再对Time排序 不是这样的么?[/quote] 我试过的,只是对Time排序,除非对Date字段用group by,才是先对Date排,再对Time排,但是我不知道hsql的这种语句应该怎样写
_追逐梦想_ 2016-01-25
  • 打赏
  • 举报
回复
引用 9 楼 k_c_u_f 的回复:
[quote=引用 8 楼 a510835147 的回复:] [quote=引用 6 楼 k_c_u_f 的回复:] [quote=引用 4 楼 a510835147 的回复:] hsql="select * from (select * from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc"
*号那个地方报错[/quote] 噢噢 hsql=" from Xa where id in (select id from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc" 这样应该就可以了,再试试,这个id是主键列[/quote] 这样实际上没有对Date排,只是对Time排了[/quote] 排了呀,先对date排,再对time排 。对date排是里面是那个子查询 对time排是外面那个查询 ,先对Date排序,再对Time排序 不是这样的么?
k_c_u_f 2016-01-25
  • 打赏
  • 举报
回复
引用 3 楼 Xgx120413 的回复:
就直接在order by 后面拼接多个待排序的字段即可。 xDDDDDDDDD
怎样拼接啊?这两个字段都是String型的
k_c_u_f 2016-01-25
  • 打赏
  • 举报
回复
引用 8 楼 a510835147 的回复:
[quote=引用 6 楼 k_c_u_f 的回复:] [quote=引用 4 楼 a510835147 的回复:] hsql="select * from (select * from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc"
*号那个地方报错[/quote] 噢噢 hsql=" from Xa where id in (select id from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc" 这样应该就可以了,再试试,这个id是主键列[/quote] 这样实际上没有对Date排,只是对Time排了
_追逐梦想_ 2016-01-25
  • 打赏
  • 举报
回复
引用 6 楼 k_c_u_f 的回复:
[quote=引用 4 楼 a510835147 的回复:] hsql="select * from (select * from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc"
*号那个地方报错[/quote] 噢噢 hsql=" from Xa where id in (select id from Xa as x where x.Did='" + did + "' and x.Pid='" + pid + "'order by Date desc) order by Time desc" 这样应该就可以了,再试试,这个id是主键列
shixitong 2016-01-25
  • 打赏
  • 举报
回复
引用 5 楼 k_c_u_f 的回复:
[quote=引用 1 楼 shixitong 的回复:]
……order by Date desc,Time asc
试过,没用,还是只对Date排序[/quote] 把你最终执行的sql语句和执行结果给我们看看(在数据库中)
shixitong 2016-01-24
  • 打赏
  • 举报
回复
……order by Date desc,Time asc

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧