您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在MySQL中搜索分组的列?

在MySQL中搜索分组的列?

下面的内容将使您或多或少地简化您的条件,尽管我不能保证拥有100,000多个具有30多个属性的人会非常有效。您应该自己看看。

SELECT g.name guy, a.name attribute, v._value value
FROM guy g 
JOIN _value v ON g.id = v.guy_id 
JOIN attribute a ON a.id = v.attribute_id
GROUP BY guy
HAVING (
    SUM(a.name = 'age'     and v._value > 10) = 1 AND
    SUM(a.name = 'dollars' and v._value < 18) = 1 AND
    SUM(a.name = 'candies' and v._value > 2 ) = 1 AND
    SUM(a.name = 'candies' and v._value < 10) = 1
       )
OR
       (
    SUM(a.name = 'age'     and v._value = 15) = 1
       )

(我在这里假设一个人不能有重复的属性。)

MySQL 2022/1/1 18:50:39 有294人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶