【发布时间】:2014-05-25 12:10:32
【问题描述】:
假设我有一张与这张表结构相似的表:
字段 1 |字段 2 |字段 3
1 - - - - 4 - - - - 这个
2 - - - - - 3 - - - - this_will_be_selected
3 - - - - - 2 - - - - this_will_be_selected
4 - - - - - 2 - - - - this_will_be_selected
1 - - - - - 4 - - - - this_one_could_also_be而不是第一个
6 - - - - 4 - - - - this_will_be_selected 因为没有其他 field2=4 AND field1=6
我想做的是在 field2 = 4 时在查询中获取 ALL field3 != 4 和 limit 1
所以,对于这个查询,我会得到:
字段1 = 1 field3 = thisone
字段1 = 2 field3 = this_will_be_selected
字段1 = 3 field3 = this_will_be_selected
字段1 = 4 field3 = this_will_be_selected
字段1 = 6 field3 = this_will_be_selected
field1 = 1 及其字段 3“this_one_could_also_be”不会被选中
我希望我说清楚了!
我的想法是这样的:
SELECT field1, field3 FROM table WHERE LIMIT (CASE field2 WHEN 0 THEN 1 ELSE ...;
问题显然是它会限制检索到的行数总共,但我想要的是 DISTINCT 与 field2 但我不明白我应该怎么做...
【问题讨论】:
标签: mysql