私は複雑なクエリに関する質問があり、それを書く方法はわかりません。 私は次のテーブルを持っている:最近の時刻でフィルタリングされた行を取得するmysql
+---------------+-----------+----------+--------------------------+
|id_incidencia | id_alarma | idaction | concat(fecha, ' ', hora) |
+---------------+-----------+----------+--------------------------+
| 18488 | 551 | 1 | 2016-08-29 14:55:47 |
| 18491 | 551 | 7 | 2016-08-29 15:02:47 |
| 18493 | 551 | 6 | 2016-08-29 15:37:39 |
| 18495 | 551 | 7 | 2016-08-29 15:41:27 |
| 19263 | 551 | 6 | 2016-09-16 15:17:27 |
| 19429 | 5151 | 5 | 2016-09-19 09:01:17 |
| 19447 | 5151 | 5 | 2016-09-19 09:25:23 |
| 19500 | 5151 | 5 | 2016-09-20 09:38:11 |
| 19532 | 5151 | 5 | 2016-09-23 15:02:50 |
| 19526 | 5151 | 6 | 2016-09-23 11:23:27 |
| 19528 | 5151 | 6 | 2016-09-23 11:28:01 |
| 19527 | 5151 | 7 | 2016-09-23 11:25:18 |
| 19529 | 5151 | 7 | 2016-09-23 11:28:08 |
+---------------+-----------+----------+--------------------------+
私は、クエリから次の結果を持っているしたいと思います:私はid_alarma
値の各グループのために必要な手段は、私が取得したいです
idaction | id_alarma | datetime
---------+-----------+---------
7 | 551 | 2016-08-29 15:41:27
7 | 5151 | 2016-09-23 11:28:08
最後の行は最後の時刻であり、値はidaction
です。問題は、次のクエリを実行すると、idaction
の値がdatetimeフィールドと同じではないということです。
私は言及クエリは次のとおりです。
SELECT a.id,
nia.idaction,
MAX(CONCAT(nia.fecha, ' ', nia.hora))
FROM nectar_incidencias_alarma nia
INNER JOIN alarmas a
ON a.id=nia.id_alarma
WHERE nia.idaction IN (6,7)
GROUP BY a.id
私は言及クエリ:SELECT a.id、nia.idaction、MAX (CONCAT(nia.fecha、 ''、nia.hora))nectar_incidencias_alarma nia INNER JOINアラームON a.id = nia.id_alarmaどこでnia.idaction IN(6,7)GROUP BY a.id – mp3man
しかし551 | 6 551 | 7?!?! – Strawberry