作者kingoface (Vincent)
看板Database
标题[SQL ] 三样排序的问题(Mysql)
时间Wed Mar 6 12:51:03 2013
上次有发问过,得到了解答,但是使用者又出了难题给我
麻烦大大帮忙了,我想了好几天了...Orz
这次是
料号(num) 进货量(in) 期初库存(qt1) 期末库存(qt2)
A001 0
A002 5
A003 0
A004 2
A005 0
A006 1
这次是希望
可以依照 进货量 > (qt2-qt1>0) > num 的排序
所以我的语法是
SELECT *, (in >0) AS sinq ,(qt2-qt1 >0) AS sinq2 FROM table WHERE XXXXX
ORDER BY sinq DESC ,sinq2 DESC , num
出来的是
进货量 > (qt2-qt1>0) > num
但是在进货量他的排序是乱的,并没有照料号排,其它的却有,请问为什麽会这样呢?
===========================分隔线解法=========================
我刚刚自己试出来
SELECT *, (in >0) AS sinq ,(qt2-qt1 >0 && in<=0) AS sinq2 FROM table WHERE XXXXX
ORDER BY sinq DESC ,sinq2 DESC , num
这样就可以了,请问有大大可以帮忙讲解一下吗?
有点不太了解原理,虽然已经正常使用了...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.31.200.209
1F:推 ClubT:进货量是数字还是字串? 03/06 16:36
※ 编辑: kingoface 来自: 61.31.200.209 (03/06 18:19)
2F:→ kingoface:刚刚看了一下是数字! 03/06 18:20
3F:→ grence:why not "order by [in] desc, qt2-qt1 desc, num" 03/08 00:38
4F:→ grence:以关键字当栏位名称要用 [], ''还是其它符号跳脱要看 dbms 03/08 00:40