簡體   English   中英

MySQL-從另一個表中查詢與當前表相同的ID的字段

[英]mySQL - Querying a field from another table with the same id as in the current one

這是一個相當復雜的項目,其設置方式有特定的原因,但是為了便於學習,我僅用名稱代替了該主題。

例如,我有兩個表:

服務器 (存儲唯一的服務器名稱)

  • server_id(唯一ID)
  • 服務器名稱

客戶 (存儲公司中的所有客戶)

  • server_id (與servers表中的唯一ID匹配)
  • ..其他專欄

我想做的是列出第一個表中不同的服務器名稱,以及使用每個服務器ID的客戶端數量。 但是,我不想返回服務器“ id”,而是返回“名稱”。 現在我有這個:

SELECT DISTINCT server_id, count(server_name) AS count 
  FROM clients 
 GROUP BY server_id

這將返回服務器ID而不是名稱。 我該如何解決? 順便說一下,完成了SQL和mySQL的初學者。

嘗試

SELECT s.server_id, 
       s.server_name, 
       COUNT(*) count_clients
  FROM clients c JOIN servers s 
    ON c.server_id = s.server_id
  GROUP BY s.server_id, s.server_name

輸出:

| SERVER_ID | SERVER_NAME | COUNT_CLIENTS |
-------------------------------------------
|         1 |     server1 |             2 |
|         2 |     server2 |             4 |

SQLFiddle

暫無
暫無

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

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