2013-05-01 31 views
0

我希望我的SQL表数据能够反转显示在表中。在我的SQL分析器中,我的SQL得到了我想要的结果。SQL Order By Desc错误结果

(简略版吧)

SELECT jobpost_id FROM needa_job_employee_cv_jobpost ORDER BY jobpost_id DESC 

的编号顺序20;18;7;6;4;与SQL分析,这是我想要的东西出来。

但由于某种原因,它在我的网站上出来7;6;4;20;18

为什么它随机分配套牌(使用扑克术语)?

如果我使用response.write来显示我的数组是如何构建的,它会在这些部分中出现。

7 
7;6 
7;6;4 
7;6;4;20 
7;6;4;20;18 

那么我的SQL怎么能在表格中间开始一半,然后在最后加上那些呢?

SELECT jobpost_id FROM needa_job_employee_cv_jobpost 

没有命令通过它出来像这样4;6;7;18;20这与我想要的相反。

这是用ASP Classic完成的。

EDIT ON REQUEST

我的循环产生的阵列。

DO WHILE NOT getinfo.EOF 

getjobpost_id = getjobpost_id & symbol & trim(getinfo("jobpost_id")) 


response.Write(getjobpost_id) 

symbol = ";" 
symboll = "|" 

getinfo.MoveNext 
loop 
+2

是出于某种原因,'jobpost_id'一个'char'场? – Matten 2013-05-01 09:48:06

+0

我认为问题在于您的网站将jobpost_id解析为字符串并对字符串进行排序而不是整数 – 2013-05-01 09:50:16

+0

不,它是INT并设置为主键。感谢您的想法,我确实检查过它。 – GethLife 2013-05-01 09:50:24

回答

0

您可以检查'jobpost_id'的类型。或者尝试将此列转换为INT。

ORDER BY COVERT(jobpost_id,无符号)DESC

+0

它是INT。你的意思是CONVERT? – GethLife 2013-05-01 10:16:59

+0

是的,'转换'。 – Spinning 2013-05-01 10:25:48