我想讓我的表rcarddet
由「SDNO」(非主鍵)按升序排列,但「0」除外。因此,它應該變成是這樣的:SQL ORDER BY查詢
1
1
2
.
.
10
0
0
我的查詢現在是:
SELECT *
FROM `rcarddet`
WHERE `RDATE` = '2011-05-25'
AND `RCNO` = '1'
AND `PLACE` = 'H'
AND `SDNO` != 0
ORDER BY `rcarddet`.`SDNO` ASC;
你可以做這樣的事情(未經測試,顯然最簡單的方法,我不知道你的情況的具體情況......或者如果這種類型的東西甚至有效......但你可以玩弄它)。這應該將一切設置爲零作爲SD的最大值NO,因此將它們放在末尾 'SELECT *,IF(SDNO = 0,max(SDNO),SNDO)as order,FROM rcarddet WHERE RDATE ='2011-05-25'and RCNO ='1'and PLACE = 'H'and SDNO!= 0 ORDER BY order ASC;' – 2011-05-31 02:56:04