我有一个相当复杂的查询,并且遍布整个地方的大量连接。查询本身完美工作,通过适当的ID分组来显示不同的值,并且我使用GROUP BY
来解释COUNT()
字段,并且我有3个包含序列号的字段。搜索并返回与组中的搜索匹配的行
问题是,让我们假设有3行共享相同的ID。每个这三列的具有三个序列号列不同的序列号,类似于下面:
Row ID SN1 SN2 SN3
1 1 abc123 (null) (null)
2 1 (null) def456 (null)
3 1 (null) (null) xyz789
在分组-由ID,第一行会出现在记录集,这是很好的,但它也意味着如果我做了LIKE '%def%'
,该行根本不会出现。
MySQL是首先执行WHERE部分还是GROUP BY?它似乎是第一个分组,这就是为什么只有一个LIKE '%abc%'
工作。有什么方法可以交换这个订单吗?
真正的查询是60行,所以我不想粘贴它,但会,如果它是绝对必要的。
谢谢,这让我走上了正确的道路。不知何故,我忽略了这个功能(正如我以前使用过的那样)......我希望能够进行精确匹配搜索,但宁愿它正在工作:) +1 – David