我想从表中选择一个唯一的值和min
例如,我有一张桌子(用户,名字,价格);我想退回支付最低价格的用户,价格只重复一次。
价格未知。它由用户提供,因为它是拍卖。
例如,如果我有......
user name price
1 jo 30
2 ko 50
3 lo 30
4 po 55
...然后获胜者是用户2,因为他的价格不重复且是最低价格。 30是最小的,但它重复
如何退回用户2?
答案 0 :(得分:1)
这是一种方法。
SELECT
*
FROM MyTable t0
WHERE t0.id IN
(
SELECT
id
FROM
MyTable
GROUP BY value
HAVING count(*) = 1
)
ORDER BY value
LIMIT 1
其中MyTable
是
| id | name | value |
|----|------|-------|
| 1 | jo | 30 |
| 2 | ko | 50 |
| 3 | lo | 30 |
| 4 | po | 55 |
输出
| id | name | value |
|----|------|-------|
| 2 | ko | 50 |
里面的子查询将提供没有重复的id。在这种情况下,它将是2,4
。
答案 1 :(得分:1)
尝试此查询
select * from category_list where item_price not in(select item_price from category_list where id not in(select id from category_list group by item_price)) order by item_price limit 1
将字段名称替换为您的字段名称