按MYSQL和Mongodb匹配的WHERE数量排序

时间:2015-12-01 10:06:52

标签: mysql mongodb

假设我有以下mysql查询:

SELECT * FROM user WHERE code='aaa' OR city='bbb' OR state='ddd' LIMIT 1

如何按WHERE的匹配数量订购?例如,第一个结果应该具有匹配的所有三个条件。如果没有用户具有匹配的所有三个条件,那么第一个结果将有两个匹配的条件,依此类推......

如何使用mysql和mongodb以这种方式订购?

1 个答案:

答案 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