所以我需要一點幫助。我似乎無法找到正確的JOIN或任何我需要的東西,以便獲得我正在尋找的所有結果。MySQL查詢缺少行
我的當前查詢如下:
SELECT
COUNT(hd.value) as total_rows,
ROUND(AVG(hd.value), 2) as OEE_AVG,
dl.line_id,
hd.shift,
ol.description
FROM
dashboard_to_dashboard_lines ddl
JOIN dashboard_lines dl ON dl.id = ddl.dashboard_line_id
LEFT OUTER JOIN operation_lines ol ON (dl.line_id = ol.line_id)
JOIN historical_data hd ON dl.gauge_tag_id = hd.tag_id
WHERE
hd.timestamp BETWEEN '2016-01-04 00:00:00' AND '2016-01-04 23:59:59'
AND ddl.dashboard_id = 1
AND hd.value < 200
GROUP BY
dl.line_id,
hd.shift
ORDER BY
hd.shift,
dl.line_id ASC
期望的結果將如下所示:
________________________________________________________
| total rows | oee_avg | line_id | shift | description |
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
| 858 | 80.24 | 1 | 1 | Line Desc |
| 432 | 60.21 | 2 | 1 | Line Desc |
| 234 | 70.75 | 3 | 1 | Line Desc |
| 865 | 10.45 | 1 | 2 | Line Desc |
| 864 | 20.26 | 2 | 2 | Line Desc |
| 823 | 30.44 | 3 | 2 | Line Desc |
| 423 | 56.14 | 1 | 3 | Line Desc |
| 234 | 12.74 | 2 | 3 | Line Desc |
| 534 | 43.64 | 3 | 3 | Line Desc |
基本上,我得到用於與通過分開的儀表盤相關聯的每個線路的值平均轉移。
我主要得到我需要的數據,除了1行之外,所提供的時間範圍爲1班。 (其他時間框架提供所有班次的所有線路的預期結果)。所以我假設沒有數據在那裏導致行被遺漏的計算。
我試着做一個外部聯接(混合並在整個查詢中匹配),沒有任何運氣。
我知道沒有SQL小提琴很難,但我希望有人可能有一些洞察力,可以幫助我。
在此先感謝。
編輯:新增SQL小提琴鏈接
您的表格模式在這裏會很有幫助。 –
添加鏈接到SQL提琴與這些表的模式 – Imperialized