MySQL子查詢關聯商品表和訂單表

2021-08-26 12:32:46 字數 783 閱讀 8686

在擼**寫程式的時候,免不了要用到mysql關聯表查詢語句,而今天在做商品訂單銷量排行的時候,就更用到mysql子查詢了。子查詢,說的通俗一點就是把乙個查詢得到的結果,作為查詢條件巢狀在另乙個查詢當中,輸出結果。如下:

//goods是商品表,order是訂單表

//子查詢語句 select distinct goods_id from `order` group by goods_id order by count(*) desc

//子查詢的語句查詢到訂單表裡存在的商品id,其查詢結果作為查詢商品資訊父查詢

$sql = "select * from `goods` where id in ( select distinct goods_id from `order` group by goods_id )" ;

$goods = db::getqueryresult($sql,false);

上面查詢出來的結果是,找到了訂單表裡的商品資訊。可是怎麼知道,我這些商品分別賣了多少呢?想了一下,暫時沒有特別好的方法,還是決定使用foreac()迴圈,查出的商品id,在訂單表裡統計每個商品的售出單數。

//乙個空的陣列

$goods_list = array();

foreach ($goods as $key => $value)

查詢的商品銷量訂單:

mysql關聯子查詢 MySQL 關聯子查詢

mysql 關聯子查詢 關聯子查詢是指乙個包含對錶的引用的子查詢,該錶也顯示在外部查詢中。通俗一點來講,就是子查詢引用到了主查詢的資料資料。以乙個實際的例子來理解關聯子查詢 article 文章表 aidtitlecontentuid 文章1文章1正文內容.文章2文章2正文內容.文章3文章3正文內容...

MySQL 多表關聯子查詢

select from major subject discussion a join select id from fa user a join select class from major subject classes a join select subject no from major ...

MySQL關聯表查詢資料

資料庫中有兩張表 t1表如下 t2表如下 inner join只有左右表的資料匹配才會返回。select from t1 inner join t2 on t1.cid t2.id 結果如下 left join返回聯接左邊表的所有行,即使在右邊表中沒有匹配的行。select from t1 left...