[英]MySQL Query, multiple counts and sums
我有一個輸出到php表的MySQL查詢,但是在連接兩個都使用COUNT的表時遇到問題:
$query = "SELECT mqe.registration,
COUNT(*) AS numberofenqs,
COUNT(DISTINCT ucv.ip) AS unique_views,
SUM(ucv.views) AS total_views
FROM main_quick_enquiries AS mqe
LEFT OUTER JOIN used_car_views AS ucv
ON ucv.numberplate = mqe.registration
WHERE mqe.registration IS NOT NULL
GROUP BY mqe.registration ORDER BY numberofenqs DESC";
查詢運行,但是numberofenqs列中的數字始終是錯誤的,正如我從單獨執行該查詢所知道的那樣,它具有正確的結果:
SELECT registration, COUNT(*) AS numberofenqs FROM main_quick_enquiries GROUP BY registration ORDER BY numberofenqs DESC
為什么COUNT(*)在頂部查詢代碼中無法正常工作,以及從何處獲得數據?
可能是因為左外連接...
嘗試運行此命令:
SELECT registration
, count(*)
FROM main_quick_enquiries
GROUP BY registration
並將其與此結果進行比較
SELECT mqe.registration
, count(*)
FROM main_quick_enquiries mqe
LEFT OUTER JOIN used_car_views ucv
ON ucv.numberplate = mqe.registration
GROUP BY mqe.registration
可能有問題:)在重復行中...嘗試找到一個特定的注冊號,並比較兩個查詢的詳細信息
SELECT *
FROM main_quick_enquiries
WHERE registration = XXXX
+
SELECT *
FROM main_quick_enquiries mqe
LEFT OUTER JOIN used_car_views ucv
ON ucv.numberplate = mqe.registration
WHERE registration = XXXX
你應該看到差異
謝謝大家,但我想我用COUNT(DISTINCT mqe.id)代替了COUNT(*)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.