私はこの3つのテーブルのデータを取得するかなり複雑なクエリを持っていますが、今はもっと複雑にしたい(Oh dear)!最大値を除くすべてを選択するSQLクエリ
最後に投稿された機能をページの独自のセクションに表示したいのですが、それはテーブルの最後の項目を選択することでかなり簡単です。しかし、複雑なクエリ(サイトのメインページ)では、この機能を表示できないようにしたいと考えています。
私は私の以前のクエリに次のクエリをunion
したいのですが、それは正しい結果を返しません。
SELECT
features.featureTitle AS title,
features.featureSummary AS body,
features.postedOn AS dummy,
DATE_FORMAT(features.postedOn, '%M %d, %Y') AS posted,
NULL,
NULL,
staff.staffName,
features.featureID
FROM
features
LEFT JOIN staff ON
features.staffID = staff.staffID
WHERE features.postedOn != MAX(features.postedOn)
ORDER BY dummy DESC LIMIT 0,15
このクエリは、次のエラーが返されます。
MySQL error: #1111 - Invalid use of group function
ですこれの周りに何か方法はありますか?
features.postedOnをなぜ使用するのですか?(それをダミーにして、それを使用しないと仮定して)、ORDER BYのfeatures.postedOnだけではありませんか? – Stefan
features.postedOnはサイトのコンテキストでは決して*使用されません。フォーマットされた文字列は 'posted'です。これは、さまざまなエントリの順序を維持するためのダミーの文字列なので、名前は 'ダミー'です( 'posted'によって順序付けすることは無意味な結果を返します)。 – different