我有2個SQL查詢時,首先選擇從基於區域和類別訂購MySQL查詢結果
它的一個傢俱店的數據庫產品,而這種查詢是餐桌。
SELECT p.id,
p.product_name,
p.range_name,
p.pic_url,
p.hits,
p.manufacturer,
p.standard_price,
p.sale_price,
p.offer_price,
p.discount,
p.display_manufacturer,
p.display_price,
p.visible,
p.display_model_results,
p.model,
p.subcat,
p.disable_options,
p.request_price,
p.corner_flag,
cf.flag_name,
cf.flag_url,
cf.flag_description,
p.display_model,
p.offer_status,
p.disable_options_results,
p.added_timestamp,
p.about,
p.keywords
FROM products p,
corner_flags cf
WHERE (p.area = 'Dining Room Furniture'
OR p.additionarea = 'Dining Room Furniture')
AND (p.subcat = 'Dining Tables'
OR p.additionsubcat = 'Dining Tables')
AND p.sale_price = ''
AND p.visible = '1'
AND p.corner_flag = cf.flag_id
AND (p.sale_price = ''
OR p.offer_price = '0')
AND p.visible = '1'
ORDER BY (p.hits) DESC
每一個產品在產品表卻增加了1。這是在第一次確定,但現在新的產品總是在列表的底部,如果客戶決定訂購看場「命中」時結果受歡迎程度。
我們有跟蹤我們的網站做出這樣寫道:香港專業教育學院查詢算一個特定的產品有多少次是視圖,在過去的2周,例如每點擊另一個表。
SELECT Count(*) AS total,
vtp.product_id
FROM visitor_tracking_pages vtp,
products p
WHERE vtp.product_id = p.id
AND p.subcat = 'Dining Tables'
AND p.visible = '1'
AND vtp.last_click >= '1380153600'
GROUP BY vtp.product_id
ORDER BY total DESC
該查詢給出的產品ID,並在過去兩週收到的總命中。
我只是需要一種方法來這兩個查詢合併成一個。顯然不是每個產品都會在過去的兩週內被查看過,所以id需要一種返回0的方式,如果這有什麼不同?
伊夫看着各種聯接但林不熟悉如何寫他們。
你任何幫助,不勝感激!
請解釋您所做的更改以及您的更改爲什麼會解決OP的問題。 – Bucket
我在選擇語句中加入此 (SELECT COUNT(*)FROM VTP visitor_tracking_pages WHERE = vtp.product_id p.id AND vtp.last_click> = '1380153600' ),如通過我last_two_week_hits 並且爲了添加last_two_week_hits –
感謝您的支持,它就像我想要的那樣工作! 問題是查詢平均需要38-42秒才能返回結果? – Ashley