5

我有一些存储为 VARCHAR 的街道号码,但我想尽可能将它们排序为 INT。此语法被接受,但会生成 alpha 排序集,例如 max = 53、min = 1203

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 的正确语法是什么?

4

1 回答 1

11

这是你试过的吗?

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`
于 2011-03-29T19:26:03.307 回答