SQL语句顺序

时间:2015-09-22 08:12:58

标签: sql

我想根据他们到学校的距离订购一些学生的详细信息。但是在(80-90)km之内先订购。然后将显示剩余的学生。  (选择student_name,与学生的距离...........) 例如:

  • kamal,88.2 km
  • Nimal,86.1 km
  • Geetha,82.5 km
  • Perera,92.3 km
  • Rani,23.1 km
  • Shashi,102.4 km

有人可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:3)

为了首先获得80-90公里的距离,请使用CASE结构:

ORDER BY
  CASE WHEN distance BETWEEN 80 AND 90 THEN 0 ELSE 1 END,
  distance;

这将为您提供此订单:

Geetha    82.5 km
Nimal     86.1 km
kamal     88.2 km
Rani      23.1 km
Perera    92.3 km
Shashi   102.4 km

首先是80-90公里,以82.5结束,以88.2结束,然后其他距离从23.1开始,以102.4结束。

答案 1 :(得分:0)

SELECT ..., ROUND(distance / 10, 0) AS lakhm, ...
...
ORDER by lakhm

这假定您的SQL版本具有处理表达式的ROUND。正式标准只需要我认为的列名。我怀疑它是否有效,但ROUND(distance, -1)应该具有相同的效果。