gpt4 book ai didi

mysql - 如何使用 MySQL 获取通过和失败结果的最大日期?

转载 作者:行者123 更新时间:2023-11-29 02:23:37 25 4
gpt4 key购买 nike

我需要来自下面的 SQL 查询:

:user_results

<表类="s-表"><头>idcIduIdtId通过<日>日期 <正文>123342是2013 年 7 月 8 日 10:24:47223342N11/27/2014 10:36:32323343是12/9/2013 10:24:47423343N2014-11-27 10:39:10523344是2013-10-26 10:24:47623344N2014-11-27 10:38:08759932是11/24/2013 9:34:23869822是2014-11-28 9:04:22969822是2014-11-28 8:59:521069824是2014-11-28 8:59:521169824是2014-11-28 9:10:401269824N2014-11-28 9:12:011372722N12/1/2014 6:46:021473692N12/1/2014 6:49:291573693N12/1/2014 6:51:311673693N12/1/2014 7:11:25

下图是预期结果:

<表类="s-表"><头>idcIduIdtId通过<日>日期 <正文>123342是2013 年 7 月 8 日 10:24:47323343是12/9/2013 10:24:47523344是2013-10-26 10:24:47759932是11/24/2013 9:34:23969822是2014-11-28 8:59:521169824是2014-11-28 9:10:401372722N12/1/2014 6:46:021473692N12/1/2014 6:49:291673693N12/1/2014 7:11:25

注意:如果用户通过了测试(尝试次数),则需要显示最近通过的条目,如果用户未通过测试(尝试次数),则需要显示最近的失败条目。

这是我的查询:

SELECT *, COUNT(tId), MAX(date)
FROM user_results
WHERE DATE_ADD(date, INTERVAL 1 YEAR ) >= DATE_SUB( CURDATE(), INTERVAL 1 YEAR )
GROUP BY cId, tId
HAVING COUNT(tId) =1 OR (pass = 'Y' AND COUNT(tId) >=2)

最佳答案

请检查以下查询,

1) 您必须在 HAVING 子句中添加失败的案例,并将获得通过和失败的结果。

2) 用'@'分隔符连接通过和日期列,将得到值:Y@7/8/2013 10:24:47

3) 用这个值排序你会得到最近的通过和最近的失败。

SELECT *, COUNT(tId), MAX(date), 
SUBSTRING_INDEX(MAX(CONCAT(pass, '@', date)), '@', -1) AS max_date,
SUBSTRING_INDEX(MAX(CONCAT(pass, '@', date)), '@', 1) AS pass_stat
FROM user_results
WHERE DATE_ADD(date, INTERVAL 1 YEAR ) >= DATE_SUB( CURDATE(), INTERVAL 1 YEAR )
GROUP BY cId, tId
HAVING COUNT(tId) =1 OR (pass = 'Y' AND COUNT(tId) >=2) OR (pass = 'N' AND COUNT(tId) >=2)
ORDER BY date DESC

关于mysql - 如何使用 MySQL 获取通过和失败结果的最大日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27244121/

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