значение счета c значение в столбце mysql - PullRequest
1 голос
/ 31 марта 2020

У меня есть таблица trx

id    name     respond
1     john     DETIL!518050381482|202003|SRI RAHAYU               |  R1|450|6784|6866|0|0|0|0|047421CB6333E1FB10624B8BD3462256|2020-03-31 20:19:12|37881|2750|0|0|ASLI:asialink|LISTRIK|"Informasi Hubungi Call Center 123 Atau Hub PLN Terdekat :"                     . Powered by Bukopinet.|123            |21d94ad2fb7127e7ccbc5928c22996f1*!93116677|93116677|79
2     dana     DETIL!518030384979|202003|MUSJARI                  |  R1|900|450|15769|0|0|0|0|047421CB6333E546FEB23EA60FE279C5|2020-03-31 20:53:28|462570|2750|0|0|ASLI:asialink|LISTRIK|"Informasi Hubungi Call Center 123 Atau Hub PLN Terdekat :"                     . Powered by Bukopinet.|123            |700ab80876c7d0f0e3ea5621c29988e3*!89065543|89065543|79
3     toni     DETIL!518030384770|202003|KASBUN                   |  R1|450|15502|15603|0|0|0|0|047421CB6333E552C7AC8A082139A502|2020-03-31 20:54:17|48227|2750|0|0|ASLI:asialink|LISTRIK|"Informasi Hubungi Call Center 123 Atau Hub PLN Terdekat :"                     . Powered by Bukopinet.|123            |ec47a682782daa193cd3b9e8a241664e*!88781316|88781316|79

Я хочу посчитать, сколько 450 значений (после R1) в столбце отвечают.

Я использовал select count(*) from trx where respond like '%|450|%'

, но он показал 3, потому что id 2 имеет значение | 450 | но я ожидаю, что значение только после R1

должно быть 2

1 Ответ

0 голосов
/ 31 марта 2020

Это то, что вы хотите?

where respond like '%R1|450|%'

Это подойдет для ваших примеров данных.

Вы можете быть немного более гибкими с регулярными выражениями:

where respond regex 'R1[^|]*\\|450\\|'

Это фразы: 'R1', за которыми следуют от 0 до n символов, отличных от '|', за которыми следует '|450|'.

...