2013-05-16 3 views
0

EDIT Попытка перечислить все предметы, которые имеют количество больше, чем для любого другого элемента за ту же работуподзапросов с условным выбрать

Table items 
+--------+----------+ 
| job_id | quantity | 
+--------+----------+ 
| 004 |  150 | 
| 004 |  4 | 
| 004 |  100 | 
| 002 |  50 | 
| 002 |  2 | 
| 002 |  17 | 
| 002 |  17 | 
| 006 |  2 | 
+--------+----------+ 

Я знаю, это должно быть довольно просто один, но он заставил меня застрял. Я пытался использовать ЛЮБОЙ в запросе, но я не был уверен, как его использовать. Вот что я думаю:

select job_id, quantity 
from items 
where quantity > 
    (select min(quantity) from items) group by job_id; 

Я был с этим. Спасибо за помощь

select job_id, max(quantity) from po_items group by job_id; 

Это один сделал трюк

ответ

1

Попробуйте вместо этого:

select job_id, quantity 
from items 
where quantity > (select MAX(quantity) from items where ...); 
0

Вы можете использовать функцию MAX()

Вы можете использовать select MAX(quantity) from items where

select job_id, quantity 
from items 
where quantity > (select MAX(quantity) from items where ...); 
0

PSR находится на правильном пути.

Для максимального значения каждого задания можно использовать функцию агрегации MAX(), наиболее эффективно с помощью GROUP BY.

Try:

select job_id, MAX(quantity) from items GROUP BY job_id

(отправлено с мобильного телефона)

+0

Спасибо, что сделал трюк – Tom

0

Без SUBQUERY .Проверить SQLFIDDLE

SELECT 
    job_id, 
    MAX(quantity) 
FROM items 
GROUP BY job_id 
Смежные вопросы