请教一个sql语句,我实现这个目前需要查两次和求交集才能取到,如何使用一个sql查到呢
表示例#
id | m_id | price | unit |
---|---|---|---|
1 | 28 | 100 | 月 |
2 | 28 | 200 | 年 |
3 | 29 | 120 | 月 |
4 | 29 | 150 | 年 |
4 | 30 | 180 | 年 |
4 | 30 | 130 | 月 |
目标#
找出所有同时满足 price 大于 160 的,unit 为年的 和 price 小于 110,unit 为月的所有 m_id
我现在的做法#
先查所有年的 price 大于 160 的 m_id, (28,30)
再查所有月的 price 小于 110 的 m_id, (28)
然后取出 mid, 求交集得出 28
推荐文章: