首页 > 解决方案 > 如何在 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. 用户 1 完成的唯一测验总数。(例如,如果“KENNISMAKING”出现 7 次,则仅计算 1)。

输出:用户 1 参加总“5”测验(KENNISMAKING、ACTIEF VERKOPEN、ASSORTIMENT-FRIS、ASSORTIMENT-PSV、PERSONEELSZAKEN)。

(注意:只需要数字而不是名称。)

  1. 用户 1. 从此唯一测验名称中获得的 100% (Correct_score) 总数。(如果 KENNISMAKING 有 2 [100% Correct_score] (见第 3,5 行)所以只计算 1)

输出:用户 1 完成 3 测验 100%。

标签: mysqlsql

解决方案


原始 sql。假设表名是quiz

  1. SELECT count(distinct(Quiz_name)) FROM quiz WHERE User_ID == 1;
  2. SELECT count(distinct(Quiz_name)) FROM quiz WHERE User_ID == 1 and Correct_score == 100;

推荐阅读