Показать сообщение отдельно
Старый 18.11.2005, 07:58   #19   
Форумец
 
Аватар для yujanin
 
Сообщений: 1,581
Регистрация: 11.04.2003

yujanin вне форума Не в сети
Для SQL, для SQL.

SELECT MAX(c1) AS c1, c3 FROM table GROUP BY c3, c1 выдаст тебе твой желаемый результат - ряды 1, 2, 4. это элементарная агрегатная (даже не знаю, как по-русски, по-аглицки aggregate) функция. GROUP BY вступает в силу только тогда, когда в первой части (после SELECT) идёт агрегатная функция (типа SUM, MAX, MIN, AVG и т.д.)

с другой стороны, меняя MAX на MIN, получишь в качестве результата ряды 1, 2, 3

а ещё, в сиквеле есть гораздо более продвинутые вещи: функции, сохраненные процедуры, курсоры, подзапросы, транзакции. Короче говоря, всю бизнес-логику абсолютно реально сделать в самом сиквеле, не прибегая к внешним программным средствам (речь идёт, конечно же, о продуктах бизнес-плана типа oracle, db/2 и ms sql, mysql пока не дотягивает)
  Ответить с цитированием