SQL-选择具有多个列和条件的Distinct

  • 本文关键字:条件 Distinct 选择 SQL- sql
  • 更新时间 :
  • 英文 :


我有一组数据,如下所示,如何返回具有不同set、course_id、exercise_id和test_mode的结果,条件是最长testing_name。非常感谢。

练习_id测试模式>测试计数测试(12(C测试(12(和测试(34(P5C测试(49(13P测试(33(和测试(87(P测试(88(
设置 course_id测试名称
A 5 4 C
A 5 43
A 5 4测试(22(2
A 5 4 B
A 3 20
A 3 15
B 5 4 B
B 5 43
B 5 41

此处使用ROW_NUMBER

WITH cte AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY Set, course_id, exercise_id, test_mode
ORDER BY LENGTH(testing_name) DESC) rn
-- use LEN() for SQL Server
FROM yourTable
)
SELECT Set, course_id, exercise_id, test_mode, testing_name, testing_count
FROM cte
WHERE rn = 1;

最新更新