我有以下數據存儲在我的數據庫中。Sql顯示每個組的前10個請求產品
我想知道每個車的10個最受歡迎的零件是什麼。 下面我做了一個存儲在數據庫中的數據的例子。
一個表格包含帶車號的汽車的名稱。
一個表格包含每個車輛有一個或多個請求標識(的)的請求。
一張表包含請求標識和請求部分的名稱。
Table cars
audi (7)
bmw (12)
Table request
7 (100)
7 (234)
7 (367)
7 (562)
7 (729)
7 (765)
7 (881)
Table request_parts
100 (achterband)
234 (voorband)
367 (motor)
562 (accu)
729 (achterband)
765 (kopeling)
881 (koeling)
查詢應該返回什麼是這樣的事情,如示例「achterband」被發現兩次
audi achterband 2
audi voorband 1
audi motor 1
audi accu 1
audi kopeling 1
,我目前擁有數部分「電動機」多久一直查詢請求每一輛車。但我無法找到如何做到這一點,不僅僅是爲了一個產品,而是爲了所有這些產品。現在,由於id已經顯示,所以它的名字並不重要。
SELECT COUNT(*), requests.sibben_brand_id, request_parts.name
FROM request_parts
JOIN requests ON requests.id = request_parts.request_id
WHERE requests.sibben_brand_id IS NOT NULL
AND request_parts.name LIKE 'motor'
GROUP BY requests.sibben_brand_id
ORDER BY COUNT(*) DESC `
有沒有人有一個想法,我可以得到正確的數據?
如果你喜歡,可以考慮下列行爲這個簡單的兩步過程:1.如果您還沒有這樣做,請提供適當的DDL(和/或sqlfiddle),以便我們可以更輕鬆地複製問題。 2.如果您尚未這樣做,請提供與步驟1中提供的信息相符的所需結果集。 – Strawberry 2015-03-19 10:57:33
kopeling未找到兩次? – Strawberry 2015-03-19 10:59:09