mysql - 获取每行两列之间的最小值

标签 mysql sql select group-by min

这是我的数据表:

| uid |   date   | visit | transactionDate |
+-----+----------+-------+-----------------+
|  1  | 6/2/2014 |   1   |     6/9/2014    |
|  1  | 6/2/2014 |   1   |     8/4/2014    |
|  2  | 6/2/2014 |   1   |     8/2/2014    |
|  2  | 6/2/2014 |   1   |     10/17/2014  |
|  2  | 6/2/2014 |   1   |     10/20/2014  |
|  3  | 6/2/2014 |   1   |     6/9/2014    |
|  3  | 6/2/2014 |   1   |     6/10/2014   |
|  3  | 6/2/2014 |   1   |     6/11/2014   | 
|  3  | 6/2/2014 |   1   |     6/12/2014   |
|  3  | 6/2/2014 |   1   |     6/14/2014   |
|  3  | 6/2/2014 |   1   |     6/15/2014   |
|  3  | 6/2/2014 |   1   |     6/17/2014   |
|  3  | 6/2/2014 |   1   |     6/18/2014   |
|  3  | 6/2/2014 |   1   |     6/23/2014   |

我正在尝试编写一个查询来提取两列日期和交易日期中的最小值。有没有办法做类似 MIN(date, transactionDate) 的事情?查询应选择如下内容:

uid 1 then minimum of date and transaction_dt
uid 2 then min date and transaction_dt

最佳答案

使用CASE条件。

SELECT uid, visit, 
   CASE WHEN date < transactionDate THEN date ELSE transactionDate END AS minDate
FROM table;

关于mysql - 获取每行两列之间的最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27372259/

相关文章:

mysql - 我在我的 SQL 查询中没有看到错误

python - Django 反向正则表达式匹配

mysql - 效率: How many MySQL rows should I pull at a time?

mysql 选择此查询然后用此查询填充?

select - 悬停时 IE8 和 IE9 选择框会自行关闭

java - playframework - 在自定义选择标签中设置列表参数

mysql - sqoop - 导入表时遇到问题

mysql - 如何使用2个带有OR条件的连接表来选择没有重复记录的sql数据

mysql - 可执行文件尝试连接到错误的 MySQL 套接字文件位置

MySQL 使用 join 对多个表中的行进行计数