Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL分组查询特定条件_Mysql_Jpa_Group By_Sql Order By - Fatal编程技术网

MySQL分组查询特定条件

MySQL分组查询特定条件,mysql,jpa,group-by,sql-order-by,Mysql,Jpa,Group By,Sql Order By,如果我想知道每个客户的工资总额,那么分组查询如下: SELECT NAME, SUM(SALARY) FROM CUSTOMERS GROUP BY NAME; 但是,如果我不想要工资总额,只需要查看按名称分组的所有工资,那么查询或方法是什么 尝试使用以获得所需的结果 SELECT NAME,SALARY FROM CUSTOMERS GROUP BY NAME; 那要看你想拿多少薪水了 选项1->最大值: SELECT NAME, max(SALARY) FROM CUSTOMERS GR

如果我想知道每个客户的工资总额,那么分组查询如下:

SELECT NAME, SUM(SALARY) FROM CUSTOMERS GROUP BY NAME;
但是,如果我不想要工资总额,只需要查看按名称分组的所有工资,那么查询或方法是什么

尝试使用以获得所需的结果

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;

如果要检索每个客户的姓名和薪资变化(按姓名和薪资分组)。你可以试试这个

SELECT name, salary FROM customers GROUP BY name, salary;

可能是
GROUP\u CONCAT()
而不是
SUM()
为什么“分组依据”而不是“排列依据”?@Paul GROUP\u CONCAT是我一直在寻找的,但在JPA查询组中,它不起作用。你知道我可以在JPA查询中为group_concat做些什么吗?还有一个选项:在应用程序站点上创建group,而不是SQL。还有一个关于如何实现的选项,我讨论了他可能需要的所有选项@PaulSpiegelop可能只是不知道在他的应用程序语言中什么是可能的。例如,对于PHP PDO,您可以使用类似于
fetchAll(PDO::FETCH_COLUMN | PDO::FETCH_GROUP)
的东西,并使结果更灵活,因为它是一个数组。另一方面,解析结果字符串也很简单,所以一切都很好:)@sagi group_concat是我一直在寻找的,但在JPA查询组中,它不起作用。你知道我可以在JPA查询中为group_concat做些什么吗?@ShobhitSingh你可以在这里找到你需要的: