有一个表,数据是这样的
品名 规格 材质 厂家 价格 城市 添加日期螺纹钢 Φ12-14 HRB400E 成实 2370 北京 2015-11-6 10:33螺纹钢 Φ12-14 HRB400E 龙钢 2370 北京 2015-11-6 10:33螺纹钢 Φ12-14 HRB400E 德胜 2370 北京 2015-11-6 10:33螺纹钢 Φ12-14 HRB400E 威钢 2440 北京 2015-11-6 10:33螺纹钢 Φ16-25 HRB400E 新钢业 2300 广州 2015-11-6 10:23螺纹钢 Φ16-25 HRB400E 水钢 2300 广州 2015-11-6 10:23螺纹钢 Φ16-25 HRB400E 攀钢 2300 广州 2015-11-6 10:23高线 Φ6.5-10 HPB300 山西中阳 2340 上海 2015-11-6 10:13高线 Φ6.5-10 HPB300 山西立恒 2340 上海 2015-11-6 10:13高线 Φ6.5-10 HPB300 龙钢 2340 上海 2015-11-6 10:13螺纹钢 Φ16-25 HRB400E 山西建邦 2370 武汉 2015-11-6 10:22螺纹钢 Φ16-25 HRB400E 龙钢 2370 武汉 2015-11-6 10:22螺纹钢 Φ16-25 HRB400E 德胜 2370 武汉 2015-11-6 10:22螺纹钢 Φ8-10 HRB400E 威钢 2430 武汉 2015-11-6 10:22
想获得:
根据时间 、城市 、品名,同时判断这三个字段,获取不同的值,然后每个值只取其中一条。
按添加时间排序。形成列表。表里(有ID字段的)
MSSQL是这样的,可以实现:
select * from (select *,rank() over (partition by AddDate,City order by ID) rn from mart WHERE Title = '螺纹钢' and DATEDIFF(day,AddDate,getdate())<4 ) t where rn=1 ORDER BY AddDate DESC
现在我想把它转换成MYSQL的语句,该如何写呢?
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号