加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php – Mysql – 找到重复的值然后只返回最新值然后如果它返

发布时间:2021-08-28 03:43:44 所属栏目:大数据 来源: https://www.jb51.cc
导读:@H_403_0@我有 @H_403_0@ Tablenameid coid name test passfail testdateVALUES1 1 Chris mod1 fail 2015-05-202 1 Chris mod1 pass 2015-05-253 2 Patrick mod1 fail 2015-06-104 3 James mod1 2015-12-215 4 Agnes mod1 cancelled 2015-07-016 5 Freya mod1
@H_403_0@我有

@H_403_0@

Tablename
id     coid     name     test     passfail     testdate
VALUES
1       1       Chris    mod1     fail         2015-05-20
2       1       Chris    mod1     pass         2015-05-25
3       2       Patrick  mod1     fail         2015-06-10
4       3       James    mod1                  2015-12-21
5       4       Agnes    mod1     cancelled    2015-07-01
6       5       Freya    mod1     pass         2015-07-01
7       5       Freya    mod2     pass        2015-07-05
@H_403_0@它列出了谁做了什么测试以及何时,以及是否通过了测试.
我需要能够返回未通过mod1测试的人的结果.

@H_403_0@如果我使用

@H_403_0@

SELECT *
FROM `tablename` 
WHERE `test` = 'mod1' AND `passfail` != 'pass'
@H_403_0@克里斯在结果中是因为他也失败了mod1,但我需要能够忽略失败,因为他现在已经过去了.

@H_403_0@我追求的结果是……

@H_403_0@

3       2       Patrick  mod1     fail         2015-06-10
4       3       James    mod1                  2015-12-21
5       4       Agnes    mod1     cancelled    2015-07-01 
@H_403_0@该coid是联系人ID,以防万一我得到两个同名的人.

@H_403_0@如果我能找到已经完成mod1的重复coid,那么请选择最近的一个日期,然后检查它是否是通过.我认为这应该给我我需要的结果,我不知道怎么做但是请帮忙

@H_403_0@我在sqlfiddle上一直在尝试各种各样的事情

解决方法:

@H_403_0@试试这个…

@H_403_0@

SELECT *
FROM table_name
WHERE coid NOT IN (
    SELECT coid 
    FROM same_table_name 
    WHERE test = 'mod1' AND passfail = 'pass'
);

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读