繁体   English   中英

用于在varchar字段中选择最小值/最大值的MySQL查询

[英]Mysql query for selecting min/max values in a varchar field

因此,我有一个varchar列,该列用于存储产品价格(不要问我最终的价格如何,但是现在我没有选择更改此...叹气的选项),它也可以为空白或包含一个文本(从字面上看)“ null”,“ OUT”,其中两者都表示价格为0。找到此列的MIN和MAX值的最佳和最有效的方法是什么?

PS:我愿意接受php / mysql混合解决方案,因为我需要最优化,最有效的方法。 这个桌子真的很大...

这样的事情应该起作用并且相当有效。 但是,无论如何它都不会很快。

SELECT
    MIN(CAST(price AS DECIMAL(8,2))) as price_min,
    MAX(CAST(price AS DECIMAL(8,2))) as price_max
FROM products
WHERE price NOT IN('', 'null', 'OUT')

经过测试之后,我注意到很明显,转换是自动完成的,因此您可以执行以下操作:

SELECT
    MIN(price) as price_min,
    MAX(price) as price_max
FROM products
WHERE price NOT IN('', 'null', 'OUT')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM