mysql - SQL 获取最大日期
解决方案
使用 window function ROW_NUMBER()
,如果在您的 RDBMS 中可用:
SELECT product, price, date, client
FROM (
SELECT
t.*,
ROW_NUMBER() OVER(PARTITION BY product, client ORDER BY date DESC) rn
FROM mytable t
) x
WHERE rn = 1
在 MySQL < 8.0 中:
SELECT product, price, date, client
FROM mytable t
WHERE NOT EXISTS (
SELECT 1
FROM mytable t1
WHERE t1.client = t.client AND t1.product = t.product AND t1.date > t.date
)
推荐阅读
- sql - 选择最大值(sql)
- flutter - 强制纵向模式使 Flutter 应用无响应
- php - 创建重写规则后传递参数
- macos - 在 macOS Movaje 10.14 中安装 Homebrew + nginx + rtmp
- c# - 将实体状态设置为 Add 后,Entity Framework Core 未保存对数据库的更改
- javascript - 点击保存位置
- flutter - 我希望我的 Flutter 应用程序在每次向 SQLite 数据库添加新数据时自动刷新变量
- react-native - React Native BluetoothManager NativeModules NULL
- java - 多类 Java 错误:Ljava.lang.String
- node.js - 如何通过浏览器 url 将参数传递给套接字聊天客户端