假设我有以下mysql查询:
SELECT * FROM user WHERE code='aaa' OR city='bbb' OR state='ddd' LIMIT 1
如何按WHERE的匹配数量订购?例如,第一个结果应该具有匹配的所有三个条件。如果没有用户具有匹配的所有三个条件,那么第一个结果将有两个匹配的条件,依此类推......
如何使用mysql和mongodb以这种方式订购?
答案 0 :(得分:1)
尝试此MySQL查询
SELECT *,((code='aaa')+(city='bbb')+(state='ddd')) count FROM `user`
WHERE code='aaa' OR city='bbb' OR state='ddd'order by count DESC
如果任何条件(code='aaa')
为真,则返回1