【发布时间】:2018-07-30 13:38:31
【问题描述】:
我在 Debian 服务器上有 2 张桌子、游乐设施和台阶。
从 Xamarin 应用程序中,我从该服务器(Refit、Newtonsoft Json 和 SQLite-net PCL 包)获取数据以填充本地表。
当我在 mariadb 上使用这个查询时:
SELECT 1_steps.*
FROM 1_rides, 1_steps
WHERE 1_rides.id=1_steps.ride_id
AND 1_rides.start=1
GROUP BY 1_rides.id
我得到了正确的结果(每次骑行的第一步,然后从 1 开始)
但是当使用 Sqlite 的等价物时:
SELECT Steps.*
FROM Rides,Steps
WHERE Rides.Id=Steps.RideId
AND Rides.Start=1
GROUP BY Rides.Id
结果,我得到了每次(相同)骑行的最后步骤!
无论是 mariadb 还是 sqlite,每个表都有一个主键(id 字段)。
我检查了一下,数据的发送、接收和保存顺序相同。
只需在移动应用中添加:
foreach (var step in await App.RestClient.getSteps())
if (dbCon.InsertOrReplace(step) != 1)
....
我尝试添加ORDER BY Rides.Id,但这并没有改变任何东西。
【问题讨论】:
标签: mysql sqlite mariadb sqlite-net groupwise-maximum