【问题标题】:select id if more than twenty columns satisfying conditions如果超过 20 列满足条件,则选择 id
【发布时间】:2011-10-16 04:54:16
【问题描述】:

理想情况下,我需要 Hibernate Criteria API 中的查询,但即使在 Native-SQL 中它也会非常有用。我有一个包含 id、a1、a2、a3、a4、a5、... a25 列的表。如果超过 20 列条件“介于(最小,最大)”将被满足,我需要检索 id。感谢任何建议,指向解决方案甚至解决方案本身。

【问题讨论】:

  • 规范化你的表结构怎么样?

标签: mysql hibernate criteria restriction


【解决方案1】:
 SELECT id_field
 FROM table_name 
 WHERE IF(a1 BETWEEN min_value AND max_value, 1, 0)
     + IF(a2 BETWEEN min_value AND max_value, 1, 0)
     ...
     + IF(a25 BETWEEN min_value AND max_value, 1, 0) > 20

【讨论】:

    猜你喜欢
    • 2017-01-13
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多