如果我想了解每個客戶的工資總額,然後GROUP BY查詢將如下所示:MySQL的集團通過查詢特定條件
SELECT NAME, SUM(SALARY) FROM CUSTOMERS GROUP BY NAME;
但是,如果我不想總和薪水,只需要看所有按名稱分組的薪金,那麼什麼是查詢或方法?
如果我想了解每個客戶的工資總額,然後GROUP BY查詢將如下所示:MySQL的集團通過查詢特定條件
SELECT NAME, SUM(SALARY) FROM CUSTOMERS GROUP BY NAME;
但是,如果我不想總和薪水,只需要看所有按名稱分組的薪金,那麼什麼是查詢或方法?
嘗試使用GROUP BY clause獲得所需的結果。
SELECT NAME,SALARY FROM CUSTOMERS GROUP BY NAME;
這取決於你想顯示其工資..
選擇1 - >最大:
SELECT NAME, max(SALARY) FROM CUSTOMERS GROUP BY NAME;
選擇2 - >最低:
SELECT NAME, min(SALARY) FROM CUSTOMERS GROUP BY NAME;
選項3 - >清單:
SELECT NAME, group_concat(SALARY separator ',') FROM CUSTOMERS GROUP BY NAME;
而最後一個選項 - >無所謂:
SELECT NAME,SALARY FROM CUSTOMERS GROUP BY NAME;
另一個選項:在應用程序站點上組而不是SQL。 –
如何做到這一點的另一個選擇,我談到了他可能想要的所有選項。 @PaulSpiegel – sagi
也許OP只是不知道他的應用程序語言中有什麼可能。例如,使用PHP PDO,你可以使用類似'fetchAll(PDO :: FETCH_COLUMN | PDO :: FETCH_GROUP)'的類型,並且保持結果更加靈活,因爲它是一個數組。另一方面,解析結果字符串也很簡單 - 所以一切都很好:-) –
如果要檢索的姓名和薪水每個客戶的變化(按姓名和薪水分組)。你可以試試這個。
SELECT name, salary FROM customers GROUP BY name, salary;
也許'GROUP_CONCAT()'而不是'SUM()' –
爲什麼按'分組'而不是'按排列'? – Strawberry
@Paul group_concat是我正在尋找,但在JPA查詢group_concat不起作用。任何想法我可以做JPA查詢group_concat? –