mysql - 每天查看数据 MySQL
问题描述
我正在做一个关于办公室员工日常评估测试的简单应用程序。
应用程序将几个每日问题的评分结果存储在数据库中,每日输入每日问题。
我的 MySQL 数据库中有 2 个表,其中有:
- account_table
- 评估表
这是 account_table :
accountID | accountName | accountEmail
1 | John | john@example.com
2 | Derick | derick@example.com
3 | Ratna | ratna@example.com
这是assessment_table:(例如今天是2020-10-08)
assessmentID | accountID | assessmentScore | assessmentDate
1 | 1 | 50 | 2020-10-07
2 | 2 | 75 | 2020-10-07
3 | 3 | 93 | 2020-10-07
4 | 2 | 47 | 2020-10-08
5 | 3 | 80 | 2020-10-08
如何查看今天未进行评估的账户?
谢谢你的帮助,问候。
解决方案
SELECT act.*
FROM account_table act
LEFT JOIN assessment_table ast ON act.accountID = ast.accountID
AND ast.assessmentDate = '2020-10-08'
WHERE ast.accountID IS NULL
或者
SELECT *
FROM account_table act
WHERE NOT EXISTS ( SELECT NULL
FROM assessment_table ast
WHERE act.accountID = ast.accountID
AND ast.assessmentDate = '2020-10-08' )
您可以始终使用forCURRENT_DATE
而不是'2020-10-08'
文字来接收当天的输出。
PS。我没有显示WHERE NOT IN
变体 - 在几乎所有情况下它都比较慢。
推荐阅读
- javascript - NextJs getStaticPaths 未呈现适当的页面,显示 404 错误
- java - 编写一个Java程序,将句子中每个单词的首字母大写
- ethereum - 如何增加 GassLimit(以太坊 PoA)?
- image - 在android和ios xamarin表单中单击或点击图像时如何显示数字(1,2,3)
- linux - 在 Centos8 中找不到 virtio_pci.ko(或 virtio-pci.ko)
- c# - 使用 C# 向 Postgresql 数据库批量插入或更新数据
- xaml - 日历日期选择器下一个按钮 UWP 是否有任何刷新事件?
- python - pd.timestamp 'module' 对象不可调用
- r - 在 R 中使用函数和 mapply 创建对其他列求和的新列
- python - 如何在 Mac 上使用 psycopg2 模块