2011-03-29 216 views
2

我有一些街道号存储为VARCHAR,但我想在可能的情况下将它们排序为INT。该语法被接受,但产生的α-排序集合像最大= 53,最小= 1203使用CAST()和MAX()/ MIN()

SELECT `StreetName`, 
CAST(MIN(`StreetNumber`) AS UNSIGNED) as min, 
CAST(MAX(`StreetNumber`) AS UNSIGNED) as max 
FROM `tblAddToLotBridge` 
WHERE `LotNumber` = '$item_lotnum' 
AND `Primary_Secondary` = 0 
GROUP BY `StreetName` 
ORDER BY `StreetName` 

我试图嵌套CAST()MIN()/MAX()内,但该语法得到拒绝。

什么是正确的DWIM的sytax?

回答

6

这是你试过的吗?

SELECT `StreetName`, 
MIN(CAST(`StreetNumber` AS UNSIGNED)) as min, 
MAX(CAST(`StreetNumber` AS UNSIGNED)) as max 
FROM `tblAddToLotBridge` 
WHERE `LotNumber` = '$item_lotnum' 
AND `Primary_Secondary` = 0 
GROUP BY `StreetName` 
ORDER BY `StreetName` 
+0

因为它起作用 – RichardTheKiwi 2011-03-29 19:46:22