mysql - COUNT 查询中的 SUBSTRING 未按预期工作

标签 mysql

如果标题有歧义,我深表歉意。

我有一个名为 data 的表,该表中有一个名为 barcode 的列 条形码看起来类似于:

TEST210001m1c8Wsa

条码格式如下:

工作:TEST2

自增nr:10001

类型标识符:m1

唯一标识:c8Wsa

我正在尝试计算整个表格列中与作业、类型 ID 和唯一 ID 匹配的条形码数量。我不关心自动增量。我正在使用以下查询,但它似乎没有像我预期的那样工作:

SELECT COUNT(*) FROM data WHERE barcode LIKE 'test2%' AND SUBSTRING('m1', LENGTH(barcode)-7,2)='m1' AND RIGHT('c8Wsa', 5)='c8Wsa'

我确信我使用的 SUBSTRING 不正确,因为如果我删除它,查询会按预期返回结果。有人能告诉我我做错了什么吗?我确定这是我遗漏的一些小东西。

最佳答案

您需要为 substring() 函数中的第一个参数指定列名,同样为 right() 函数指定列名

SELECT COUNT(*) FROM data 
WHERE barcode LIKE 'test2%' AND SUBSTRING(barcode, LENGTH(barcode)-6,2)='m1' 
AND RIGHT(barcode , 5)='c8Wsa'

关于mysql - COUNT 查询中的 SUBSTRING 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53184396/

相关文章:

MySQL 错误代码 : #1111 - Invalid use of group function

mysql - Entity Framework 电动工具 Beta 4 与非 - 使用 MySql

mysql - mysql 中的运行平均值

mysql - 如何在 "group by"查询中创建具有自动增量编号的假列

mysql - 使用查询连接多个表

php - 如何使用 Strpos 而不是 While 语句从 MySQL 数据库中选择结果?

php - 带有连接和计数的 mySQL 查询

javascript - 重新排序关联模型 laravel

mysql - 这有什么问题

mysql - Bash脚本创建数据库