"Поддержка Свойства Java" была предложена для Java 7, но не превращала его на язык.
См. http://tech.puredanger.com/java7#property для большего количества ссылок и информации, если заинтересовано.
MySQL полностью не соответствует стандартам GROUP BY
может быть эмулирован Postgres'ом DISTINCT ON
. Рассмотрим это:
SELECT a,b,c,d,e FROM table GROUP BY a
Это дает по одной строке на каждое значение a
(какое именно, вы точно не знаете). На самом деле вы можете догадаться, потому что MySQL не знает о хэш-агрегатах, поэтому он, вероятно, будет использовать сортировку ... но он будет выполнять сортировку только по a
, поэтому порядок строк может быть случайным. Если только он не использует многоколоночный индекс вместо сортировки. Во всяком случае, это не указано в запросе.
SELECT DISTINCT ON (a) a,b,c,d,e FROM table ORDER BY a,b,c
Это доставляет по одной строке на значение a
, эта строка будет первой в сортировке согласно ORDER BY
, указанный в запросе. Просто.
Обратите внимание, что здесь я вычисляю не агрегат. Так что GROUP BY
на самом деле не имеет смысла. DISTINCT ON
имеет гораздо больше смысла.
Rails связан с MySQL, поэтому я не удивлен, что он генерирует SQL, который не работает в Postgres.
MySQL GROUP BY может использоваться без агрегатной функции (что противоречит стандарту SQL) и возвращает первую строку в группе (я не знаю, по каким критериям), в то время как PostgreSQL должен иметь агрегатную функцию (MAX, SUM и т. д.) для столбца, для которого создается предложение GROUP BY.
Если я правильно помню, в PostgreSQL вы должны добавить каждый столбец, который вы извлекаете из таблицы, где предложение GROUP BY применяется к предложению GROUP BY.
PostgreSQL более совместим с SQL, чем MySQL. Все поля - кроме вычисляемого поля с функцией агрегирования - в выходных данных должны присутствовать в предложении GROUP BY.
Я никогда не слышал, чтобы меня сертифицировали, чтобы сильно помочь, но я не живу в США и не в горячих точках IT-индустрии. Кто-то другой, возможно, сможет пролить больше света на эту тему, но я могу только предположить, что в более динамичном для ИТ городе, таком как Кремниевая долина или, возможно, Нью-Йорк, это может выглядеть немного более впечатляюще, если два или более кандидатов будут равномерно сопоставлены. Но если вы слабы в навыках проведения собеседований или мышления на месте и т. Д., Получение сертификата может не очень помочь.
Книга, которую вы упомянули, звучит хорошо и, вероятно, будет достаточной. Мне всегда нравилась серия head first, и в вашем случае, возможно, стоит взглянуть на Head First Java (также Кэти Сьерра и Берт Бейтс).
Некоторые другие сообщения, касающиеся SCJP, могут быть тоже помощи: