sql – 在时间上分配表
发布时间:2020-12-12 08:34:23 所属栏目:MsSql教程 来源:网络整理
导读:我有一个 MySQL表,每个用户大约有3000行.其中一列是datetime字段,它是可变的,因此这些行不按时间顺序排列. 我想在图表中可视化时间分布,所以我需要一些单独的数据点. 20个数据点就够了 我可以这样做: select timefield from entries where uid = ? order by
我有一个
MySQL表,每个用户大约有3000行.其中一列是datetime字段,它是可变的,因此这些行不按时间顺序排列.
我想在图表中可视化时间分布,所以我需要一些单独的数据点. 20个数据点就够了 我可以这样做: select timefield from entries where uid = ? order by timefield; 并看第150行. 或者我可以做20个单独的查询,并使用limit 1和offset. 但是一定要有更有效的解决方案 解决方法Michal Sznajder几乎拥有它,但是您不能在SQL中的WHERE子句中使用列别名.所以你必须把它包装成派生表.我试过这个,它返回20行:SELECT * FROM ( SELECT @rownum:=@rownum+1 AS rownum,e.* FROM (SELECT @rownum := 0) r,entries e) AS e2 WHERE uid = ? AND rownum % 150 = 0; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |