Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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 最小最大值(单位:Column),但有一定条件_Mysql - Fatal编程技术网

Mysql 最小最大值(单位:Column),但有一定条件

Mysql 最小最大值(单位:Column),但有一定条件,mysql,Mysql,我有一个MySql表,有3列:Nip、Bidang和Total。 我想用同一个bidang计算合计的最小值和最大值。但我不想计算所有列的最小值和最大值 样本数据: NIP Bidang Total 1 A 10 2 A 5 3 A 1 4 B 4 5 B 7 6 C 8 7 C 9 以及结果列: MIN

我有一个MySql表,有3列:Nip、Bidang和Total。 我想用同一个bidang计算合计的最小值和最大值。但我不想计算所有列的最小值和最大值

样本数据:

NIP    Bidang    Total
1      A         10
2      A         5
3      A         1
4      B         4
5      B         7
6      C         8
7      C         9
以及结果列:

MIN
1
1
1
4
4
8
8 
应该回来

A 1 10
B 4 7
C 8 9
只需这样做:

SELECT * FROM 
(
(SELECT Bidang FROM TableName) T1 LEFT OUTER JOIN
(SELECT bidang, MIN(Total) MinVal, MAX(Total) MaxVal
FROM TableName
GROUP BY Bidang) T2 ON T1.Bidang=T2.Bidang
)
结果:

BIDANG  MINVAL  MAXVAL
A       1       10
A       1       10
A       1       10
B       4       7
B       4       7
C       8       9
C       8       9
NIP    BIDANG   TOTAL   MINVAL  MAXVAL
1      A        10      1       10
2      A        5       1       10
3      A        1       1       10
4      B        4       4       7
5      B        7       4       7
6      C        8       8       9
7      C        9       8       9
请参阅中的结果

编辑

若要同时查看“总计”列,请将“总计”添加到第一个查询中

SELECT * FROM 
(
(SELECT NIP,Bidang,Total FROM TableName) T1 LEFT OUTER JOIN
(SELECT bidang, MIN(total) MinVal, MAX(Total) MaxVal
FROM TableName
GROUP BY Bidang) T2 ON T1.Bidang=T2.Bidang
)
结果:

BIDANG  MINVAL  MAXVAL
A       1       10
A       1       10
A       1       10
B       4       7
B       4       7
C       8       9
C       8       9
NIP    BIDANG   TOTAL   MINVAL  MAXVAL
1      A        10      1       10
2      A        5       1       10
3      A        1       1       10
4      B        4       4       7
5      B        7       4       7
6      C        8       8       9
7      C        9       8       9

请参见中的结果。

对不起,我无法发布我的表格或图片。我的样本表column NIP=1 2 3 4 5 6 7,column Bidang=A A A B C C,column Total=10 5 1 4 7 8 9,结果列MIN=1 1 1 4 8 8 8。谢谢你提出这个问题。添加示例数据。添加您想要得到的结果。谢谢。但我的问题是NIP、Bidang和Total也显示了,Total的值总是错误的。我想要的结果是这样的:在我的sql列中,bidang被写了两次,那么对于这种情况,有什么解决方案呢?@user3440030:Replace*为bidang、MinVal、MaxVal。那么结果将只有这些列。