获取mysql中最早和最晚日期的值
Get the value of the earliest and the latest date in mysql
我有一个 table 显示客户选择的交货日期,但这可以更改并且 table 每次更改都会添加一条新记录,所以我想要一个 table获取他们选择的第一个值和他们选择的最后一个值。
table是这样的:
user_id
天
更新日期
1
星期五
2021/07/01
3
星期日
2021/07/01
3
星期二
2021/07/15
4
星期一
2021/07/02
4
星期三
2021/07/18
5
星期四
2021/07/12
7
星期一
2021/07/01
7
星期三
2021/07/16
而我想要的结果应该是这样的:
User_id
first_day
last_day
1
星期五
星期五
3
星期日
星期二
4
星期一
星期三
5
星期四
星期四
7
星期一
星期三
我应该使用什么功能?请问你能帮帮我吗?非常感谢!
SELECT 进入 TABLE
MySQL Server doesn't support the SELECT ... INTO TABLE Sybase SQL extension. Instead, MySQL Server supports the INSERT INTO ... SELECT standard SQL syntax, which is basically the same thing.
INSERT INTO tbl_temp2 (user_id,first_day,last_day)
SELECT tbl_temp1.user_id,tbl_temp1.first_day,tbl_temp1.last_day
FROM tbl_temp1
WHERE <Need to add your selection criteria here>;
首先,天名其实可以用DAYNAME()
函数查到,所以其实没必要另存一列。但无论如何,试试这个代码。
SELECT
user_id,
DAYNAME(MIN(DateUpdate)) as first_day,
DAYNAME(MAX(DateUpdate)) as last_day
FROM tbl
GROUP BY user_id
如果您只需要日期,也可以删除 DAYNAME()
函数。
我有一个 table 显示客户选择的交货日期,但这可以更改并且 table 每次更改都会添加一条新记录,所以我想要一个 table获取他们选择的第一个值和他们选择的最后一个值。
table是这样的:
user_id | 天 | 更新日期 |
---|---|---|
1 | 星期五 | 2021/07/01 |
3 | 星期日 | 2021/07/01 |
3 | 星期二 | 2021/07/15 |
4 | 星期一 | 2021/07/02 |
4 | 星期三 | 2021/07/18 |
5 | 星期四 | 2021/07/12 |
7 | 星期一 | 2021/07/01 |
7 | 星期三 | 2021/07/16 |
而我想要的结果应该是这样的:
User_id | first_day | last_day |
---|---|---|
1 | 星期五 | 星期五 |
3 | 星期日 | 星期二 |
4 | 星期一 | 星期三 |
5 | 星期四 | 星期四 |
7 | 星期一 | 星期三 |
我应该使用什么功能?请问你能帮帮我吗?非常感谢!
SELECT 进入 TABLE
MySQL Server doesn't support the SELECT ... INTO TABLE Sybase SQL extension. Instead, MySQL Server supports the INSERT INTO ... SELECT standard SQL syntax, which is basically the same thing.
INSERT INTO tbl_temp2 (user_id,first_day,last_day)
SELECT tbl_temp1.user_id,tbl_temp1.first_day,tbl_temp1.last_day
FROM tbl_temp1
WHERE <Need to add your selection criteria here>;
首先,天名其实可以用DAYNAME()
函数查到,所以其实没必要另存一列。但无论如何,试试这个代码。
SELECT
user_id,
DAYNAME(MIN(DateUpdate)) as first_day,
DAYNAME(MAX(DateUpdate)) as last_day
FROM tbl
GROUP BY user_id
如果您只需要日期,也可以删除 DAYNAME()
函数。