mysql - 如何在 SQL 查询中获取唯一数据?
问题描述
我在 wordpress 函数中添加了一个我的 sql 查询。现在我想从 sql 中获取具有最高“分数”数的唯一数据。
例如:这是我的 SQL 表
我想用 PHP 从这个表中得到 2 个结果。
Quiz_name Quiz_id Correct_score User_ID
KENNISMAKING 1 0 1
KENNISMAKING 1 33 1
KENNISMAKING 1 100 1
KENNISMAKING 1 33 1
KENNISMAKING 1 100 1
KENNISMAKING 1 66 1
ACTIEF VERKOPEN 7 33 1
KENNISMAKING 1 12 1
ASSORTIMENT-FRIS 15 50 1
ASSORTIMENT-FRIS 15 50 1
ASSORTIMENT-FRIS 15 25 1
ASSORTIMENT-FRIS 15 25 1
ASSORTIMENT-PSV 13 50 1
ASSORTIMENT-FRIS 15 50 1
ASSORTIMENT-PSV 13 100 1
ACTIEF VERKOPEN 7 100 1
ACTIEF VERKOPEN 7 100 1
PERSONEELSZAKEN 6 33 1
ASSORTIMENT-FRIS 15 75 1
- 用户 1 完成的唯一测验总数。(例如,如果“KENNISMAKING”出现 7 次,则仅计算 1)。
输出:用户 1 参加总“5”测验(KENNISMAKING、ACTIEF VERKOPEN、ASSORTIMENT-FRIS、ASSORTIMENT-PSV、PERSONEELSZAKEN)。
(注意:只需要数字而不是名称。)
- 用户 1. 从此唯一测验名称中获得的 100% (Correct_score) 总数。(如果 KENNISMAKING 有 2 [100% Correct_score] (见第 3,5 行)所以只计算 1)
输出:用户 1 完成 3 测验 100%。
解决方案
原始 sql。假设表名是quiz
SELECT count(distinct(Quiz_name)) FROM quiz WHERE User_ID == 1;
SELECT count(distinct(Quiz_name)) FROM quiz WHERE User_ID == 1 and Correct_score == 100;