私は過去3ヶ月以内に最新のものから最初の製品を表示し、残りの製品をアルファベット順に表示するよう依頼されました。現在、サイトはクラスで書かれており、現在の製品は追加された日付順に並んでいます。作業負荷を最小限に抑えるために、私は上記の1つのSQLクエリで行うことができますか?私はそれは2つの別のクエリが必要になると思うが、私はSQLの専門家ではないので、これを行うことができたのだろうか?最後に3か月間、最初にアルファベット順
よろしく
フィル
"DATE_ADDED近くで使用する権利構文については、エラーMySQLサーバのバージョンを取得EDIT
SELECT pr.id, pr.name AS prod_name, pr.eye_size, pr.bridge_size, pr.opt_size, pr.price, pr.range_id, pr.date_added, ra.name AS range_name
FROM oa_product AS pr, oa_brand AS br, oa_range AS ra
WHERE pr.status = 'Launched'
AND pr.brand_id = br.id
AND br.filename = 'karenmillen'
AND pr.status = 'Launched'
AND pr.range_id = ra.id
AND br.status = 'Active'
ORDER BY
CASE WHEN DATEDIFF('m', GETDATE(
), date_added) <3
THEN date_added
ELSE NULL , prod_name
LIMIT 0 , 6
)< 3 THEN DATE_ADDED ELSE NULL、PROD_NAMEのLIMIT 0 、ライン11の6 '
誰でも知っている理由は?
私は愚かな感じ。私はあなたの質問を読んだり、誤解したりして、コメントを追加しました。それが可能かどうかわかりません。しかし、たとえそれがあっても、コードは2つの異なるクエリで読みやすくなりますか? –
2つの別々のクエリで高速化することもできます。特に、「残りの部分」を表示する必要がない場合は(4ページから始まるため) – Thilo