我将仅获得最大值,尽管其中=而不是最大值,这是我的桌子:
|---------------------|------------------|
| JAMINAN | ID |
|---------------------|------------------|
| 20210101 | A0317010 |
|---------------------|------------------|
| 20200101 | A0317010 |
|---------------------|------------------|
这是我获得最大价值的代码
SELECT MAX(CONVERT(CHAR(12),a.akhir_jaminan,112)) AS ID,
a.kode_aparat AS ID
FROM mps_ms_history_jaminan_aparat a
WHERE a.kode_aparat = 'A0317010'
GROUP BY a.kode_aparat
这是结果:
|---------------------|------------------|
| JAMINAN | ID |
|---------------------|------------------|
| 20210101 | A0317010 |
|---------------------|------------------|
如果函数WHERE akhir_jaminan = not max,结果为NULL数据,这是我的代码:
SELECT MAX(CONVERT(CHAR(12),a.akhir_jaminan,112)) AS jaminan,
a.kode_aparat AS id
FROM mps_ms_history_jaminan_aparat a
WHERE a.kode_aparat = 'A0317010' AND CONVERT(CHAR(6),a.akhir_jaminan,112) = '202001'
GROUP BY a.kode_aparat
|---------------------|------------------|
| JAMINAN | ID |
|---------------------|------------------|
| 20200101 | A0317010 |
|---------------------|------------------|
我将得到这样的结果
|---------------------|------------------|
| JAMINAN | ID |
|---------------------|------------------|
| NULL | NULL |
|---------------------|------------------|
SELECT CASE WHEN MAX(CONVERT(CHAR(12),a.akhir_jaminan,112)) = '20200101'
THEN a.akhir_jaminan ELSE NULL END AS jaminan,
CASE WHEN a.kode_aparat = 'A0317010'
THEN a.kode_aparat ELSE null END AS id
FROM mps_ms_history_jaminan_aparat a
GROUP BY a.akhir_jaminan, a.kode_aparat
这是使用CASE子句,使脚本能够确定最新日期是否为所需日期。如果不是所需的脚本,您可以在下面评论,我将尽快修改脚本。