簡體   English   中英

MySQL從兩個表中選擇查詢

[英]MySQL select query from two tables

我有兩個表: 用戶作品

我需要寫選擇查詢計算來自用戶表的不同名稱,其中來自工作表的work_status = 1

在此處輸入圖片說明

總計為 :3約翰,1湯姆

我需要得到結果:
約翰2( 2因為一個約翰work_status = 0 ant這不算數
湯姆1

我寫了可以選擇不同名稱的select,只需要比較work_status。

SELECT name,COUNT(*) as num FROM users GROUP BY name

我的查詢返回:

在此處輸入圖片說明

您的問題有問題。 因此,這里有兩個解決方案。

如果有三個不同的約翰在公司工作,這是您的查詢

SELECT u.name, COUNT(*) as num 
FROM users u INNER JOIN works w ON w.user_id = u.id 
WHERE w.work_status = 1
GROUP BY u.name, u.id

如果公司中只有約翰一個人在工作,您的查詢就是這個:

SELECT u.name, COUNT(*) as num 
FROM users u INNER JOIN works w ON w.user_id = u.id 
WHERE w.work_status = 1
GROUP BY u.name

注意:如果三個約翰是同一個人,則應刪除最后兩個,然后在works表上將user_id = 3user_id = 4更改為user_id = 1

這應該做的工作:

SELECT users.name,SUM(works.work_status) as num 
  FROM users,works 
  WHERE users.id=works.id 
  GROUP BY name

這是一個簡單的JOIN查詢:

  SELECT u.name, COUNT(*) num
    FROM users u
    JOIN works w
      ON w.user_id = u.id
     AND w.work_status = 1
GROUP BY u.name
SELECT 
  users.`name`,
  COUNT(*) num 
FROM
  users,
  works 
WHERE users.`id` = works.`user_id` 
  AND works.`work_status` = 1 
GROUP BY users.`name` ;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM