所以我有這樣的查詢
SELECT distinct toner.device_id, printer.paper_count from toner
join printer on printer.device_id = toner.device_id。
這將列印出像
這樣的東西| device_id | paper_count |
|---|---|
| 1 | 5000 | 2 | 10000 |
而且我還有這個其他的查詢,它將根據某個日期回傳墨粉被更換的次數。我用count來計算它被更換的次數。
select device_id, count(toner_color) as 'Change Count'/span> from toner where
toner_color = 'Black' group by device_id。
這將列印出類似于
的內容| device_id | 更改次數 |
|---|---|
| 1 | 2 | 2 |
| 2 |
我想得到的是1個墨盒的平均列印量,例如,5000張紙/2個黑色墨盒=2500.
。所以我想得到類似這樣的東西
uj5u.com熱心網友回復:
讓我們從一個JOIN操作開始吧:
select t1.device_id, t1.paper_count, t2.ChangeCount , (t1.paperCount/ t2. ChangeCount) as Average from firsttable as t1 join secondtable as t2 on t1. device_id = t1.device_id
這應該是可以的!
uj5u.com熱心網友回復:
將 group by p.device_id, p.paper_count, while filtering by where toner_color = 'Black':
select p.device_id, p. paper_count, count(toner_color) as 'Change Count'/span>.
, round(p.paper_count / count(toner_color) 為 'Average'
from toner t join printer p on P.device_id = t.device_id
where toner_color = 'Black'
group by p.device_id, p.paper_count。
uj5u.com熱心網友回復:
創建表格:
CREATE TABLE printer(
device_id int(11)。
paper_count int(11)
);
創建 TABLE toner(
device_id int(11)。
color varchar(32)
);
資料插入 :
INSERT INTO printer(device_id, paper_count) VALUES (1,5000), (2,10000) 。
INSERT INTO toner(device_id,color) VALUES (1, "Black"),(1, "Black"),(2, "Black"),(2, "Black"),(3, "White");
查詢:
SELECT printer.device_id, printer.paper_count, count(toner. device_id) as change_count, (printer.paper_count / count(toner.device_id) as Average
FROM列印機
JOIN toner on printer.device_id = toner.device_id
WHERE toner.color = "Black"
GROUP BY toner.device_id。
輸出:
| device_id | paper_count | 改變計數平均數 | |||||||
|---|---|---|---|---|---|---|---|---|---|
| 1 | 5000 | 5000 | 2 | 2 | 2500 | 2 | 10000 | 22 | 5000 |
實時解決方案:
http://sqlfiddle.com/#!9/f3de92/1
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/321934.html
標籤:
上一篇:如何在本地通知中實作深層鏈接
下一篇:找到多行的列之和大于X的行


