OXSEO テーブルの OXSEOURL を取得しようとしています。
構造:
oxobjectid | オックスソウル | オックスパラムス
データ:
http://imageshack.com/a/img268/7443/3xr4.png
http://imageshack.com/a/img42/315/8bdu.png
私の最も深い SEO URL は、常に OXPARAMS フィールドの値が高くなります。
数値のみ、その他はカウントされません。
リターンは次のとおりです。
http://imageshack.com/a/img29/8404/4jbv.png
昨日解決策を見つけましたが、非常に遅かったので、より高速な方法を試しています。
したがって、oxparams の最大値を持つ同じ oxobjectid の oxseourl を取得したいと思います。
330.000 行を超える行があるため、ミリ秒ごとにカウントされます..
「tbproduct_」オブジェクト ID で始まる製品の URL を選択するだけです。
私のクエリ:
SELECT seo2.oxseourl, seo2.oxobjectid, seo2.oxparams
FROM oxseo AS seo2
JOIN (
SELECT oxobjectid,
MAX(oxparams) AS maxparam
FROM oxseo
GROUP BY
oxobjectid
) AS usm
ON usm.maxparam = seo2.oxparams
WHERE seo2.oxobjectid LIKE '%tbproduct_%'
AND seo2.oxparams REGEXP '^-?[0-9]+$'
ただし、これは製品に対して同じ行を返します。
助けてくれてありがとう。