Mysql 如何从多个表中查询数据并显示每个设备相对于其最后工作日期的一条记录
嗨,我是mysql数据库新手,有人能帮我解决问题吗 我有三张这样的桌子Mysql 如何从多个表中查询数据并显示每个设备相对于其最后工作日期的一条记录,mysql,Mysql,嗨,我是mysql数据库新手,有人能帮我解决问题吗 我有三张这样的桌子 select * from device; Vehiclegroup vehicleName deviceid accountid ------------ ----------- -------- ----------- sms cargo test1 sysadmin sms cargo1 test2 sysadmi
select * from device;
Vehiclegroup vehicleName deviceid accountid
------------ ----------- -------- -----------
sms cargo test1 sysadmin
sms cargo1 test2 sysadmin
sms cargo3 test3 sysadmin
select * from Account;
accountid password deviceid
--------- -------- ----------
sysadmin pass test3
sysadmin pass test2
sysadmin pass test1
And finally
mysql> select * from eventdata;
+-----------+-------+----------+----------+
| accountid | speed | date | deviceid |
+-----------+-------+----------+----------+
| sysadmin | 45 | 12/10/13 | test3 |
| sysadmin | 45 | 10/10/13 | test3 |
| sysadmin | 45 | 10/10/13 | test2 |
| sysadmin | 45 | 11/10/13 | test2 |
| sysadmin | 45 | 14/10/13 | test2 |
| sysadmin | 45 | 17/10/13 | test2 |
| sysadmin | 45 | 17/10/13 | test1 |
+-----------+-------+----------+----------+
7 rows in set (0.00 sec)
这里我需要如下所示的输出表
vehiclegroup vehiclename deviceid date
sms cargo1 test1 17/10/13
sms cargo2 test2 17/10/13
sms cargo3 test3 12/10/13
i、 e我需要每个设备上一个工作日期的数据
有人能帮上忙吗
SELECT d.Vehiclegroup, d.vehicleName, e.deviceid, e.date
FROM eventdata e
INNER JOIN device d ON e.deviceid = d.deviceid
GROUP BY e.deviceid
将为每个设备ID提供一条记录。
车辆组、车辆名称和日期可从列表中任意选择。
如果您想要最新的,您应该使用子查询或修饰符,如(MAX(e.date)as date)感谢@Tom给予回复。ur查询显示每个记录,但我不想显示每个记录,即它显示用于测试(4条记录0和测试3(2条记录),但我只需要显示一条用于测试2(17/10/13)和测试3(12/10/13)的记录仅记录可为其提供u post示例