mysql - 获取mysql varchar列的最大值

标签 mysql wordpress

我需要获取“meta_value”列中的最大数字,而其他列等于“utteranceId”,但我得到了错误的值。

我尝试使用 max 函数,但没有得到最大的数字。

meta_value列是varchar类型,表中较多记录是文本,但是meta_key: "utteranceId"的记录都是数字。

表:

meta_id post_id meta_key    meta_value
    986     168 utteranceId          1
    987     169 utteranceId          2
    990     170 utteranceId          3
    993     171 utteranceId          4
    996     172 utteranceId          5
    999     173 utteranceId          6
   1002     174 utteranceId          7
   1005     175 utteranceId          8
   1008     176 utteranceId          9
   1011     177 utteranceId         10

我使用的查询:

SELECT post_id, max(meta_value) FROM wp_postmeta where meta_key = "utteranceId";

结果: 168 9

我需要得到: 177 10

最佳答案

将 varchar 处理为数字:

SELECT MAX(CONVERT(meta_value, SIGNED)) FROM wp_postmeta where meta_key = "utteranceId";

选择对应的post_id:

SELECT post_id, meta_value FROM wp_postmeta
WHERE CONVERT(meta_value, SIGNED) = (
    SELECT MAX(CONVERT(meta_value, SIGNED))
    FROM wp_postmeta 
    WHERE meta_key = "utteranceId" )
AND meta_key = "utteranceId";

关于mysql - 获取mysql varchar列的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57168948/

相关文章:

mysql - 如何使用 dbplyr 连接到 mysql 数据库

mysql - 仅在 mysql 的 varchar 列中按日期分组

php - 在 php 中循环遍历多维数组并执行 mysql 插入(股票数据)

c++ - MySQL 连接器 c++ 1.1.3 不包含 libmysql.lib

php - 如何将特定类别的产品页面重定向到 Woocommerce 中的购物车页面

mysql - 在 mySQL Workbench 中使用枚举

wordpress - 重定向到 Woocommerce 中的外部 URL 并添加 rel ="nofollow"

php - Json编码带空格的字符串

Python Wordpress-XMLRPC : ServerConnectionError: <ProtocolError 409 Conflict>

php - wordpress 插件 -> 调用未定义的函数 wp_get_current_user()