我在 MariaDB 10.4 的 json 列的单元格中有以下值:
{
"0": [
21,
"Pallet da 1250kg (50 * Sacco da 25kg)",
"1250",
"kg"
],
"1": [
21,
"Sfuso",
"12",
"kg"
],
"2": [
12,
"Sacco da 5kg",
"10",
"kg"
],
"3": [
12,
"Pallet da 2500kg (2 * Pallet da 1250kg (50 * Sacco da 25kg))",
"5000",
"kg"
]
}
键 ( "0"
, "1"
, "2"
, "3"
) 是自动生成的。
我想计算每个数组的第二个元素与我在条件中传递的元素相同的行数。
现在我有能力做这样的事情:
query = '''SELECT COUNT(*) AS rowcount FROM ordine_al_fornitore WHERE JSON_CONTAINS(fca_ordinati, '"''' + myVar + '''"', '$.[*]')'''
哪个打印是:
SELECT COUNT(*) AS rowcount FROM ordine_al_fornitore WHERE JSON_CONTAINS(fca_ordinati, '"Sacco da 5kg"', '$.[*]')
我只知道如何以固定方式($.[*]
)传递密钥,而实际上我想遍历密钥以检查该值是否存在于1
数组的单元格中(并因此计数)。我想知道如何改进我的查询。
提前致谢!