Использование CAST () с MAX () / MIN () - PullRequest
2 голосов
/ 29 марта 2011

У меня есть несколько номеров улиц, которые хранятся как VARCHAR, но я хочу отсортировать их, где это возможно, как INT.Этот синтаксис принят, но создает отсортированные по альфе наборы, такие как 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?

1 Ответ

8 голосов
/ 29 марта 2011

Это то, что вы пробовали?

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`
...