gpt4 book ai didi

mysql - SQL SELECT 不同查询

转载 作者:行者123 更新时间:2023-11-29 07:06:03 25 4
gpt4 key购买 nike

我有一个数据库表,其中包含 no(auto increment) , user(varchar) , timein (timestamp) , timeout (timestamp)

我想获得多个用户超时和超时,但我在获取它时遇到了一些问题。

我能得到的最接近的是:

SELECT * FROM userdata WHERE no IN (SELECT MIN(no) FROM userdata GROUP BY user) 
UNION
SELECT * FROM userdata WHERE no IN (SELECT MAX(no) FROM userdata GROUP BY user)

我得到的输出是:

[{"no":"1","user":"Alan","timein":"2017-01-12 12:31:19","timeout":"0000-00-00 00:00:00"},{"no":"3","user":"Alan","timein":"2017-01-12 12:34:00","timeout":"2017-01-12 12:34:00"}]

有什么方法可以让我获得不同的用户(这样输出就不会重复)并在单行 SQL 中显示 MIN(timein) 和 MAX(timeout) 吗?

所需输出:{"user":"Alan","timein":"12:31:19","timeout":"12:34:00"}

|---------------------|------------------|------------|------------|
| no | user | timein | timeout |
|---------------------|------------------|------------|------------|
| 1 | Alan |12:31:19 | 12:31:19 |
|---------------------|------------------|------------|------------|
| 2 | Bill |12:33:00 | 12:33:00 |
|---------------------|------------------|------------|----------- |
| 3 | Alan |12:34:00 | 12:34:00 |
|---------------------|------------------|------------|----------- |

最佳答案

SELECT user, MIN(timein), MAX(timeout)
FROM userdata
GROUP BY user

尝试一下,使用 group by 语句,也许它可以帮助你。

关于mysql - SQL SELECT 不同查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41605610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com