我觉得它很容易,但我所尝试的仍然没有给出预期的结果。
当我尝试运行此查询时:(在较大的表格上)
SELECT Id, Code, newCode, Course, Internship
FROM courses
WHERE Year ='c' AND (Internship ='IS' OR Internship = '')
ORDER BY newCode ASC
我得到了这个结果:
id code newCode course
----------------------------
1 30002 3000231 aaaa-1
2 30002 3000232 aaaa-2
3 30002 300021 aaaa-a1
4 30002 300022 aaaa-a2
5 30009 300093 bbbb-1
6 30009 300093 bbbb-2
7 30012 3001231 cccc-1
8 30012 3001232 cccc-2
9 30012 300121 cccc-a1
10 30012 300122 cccc-a2
11 30012 300123 cccc-a3
12 30013 3001331 dddd-1
假设我想要某种sql查询,它只会给我一个只有课程名称的表,(每个新课程都是列中的新值 - 代码), 我想得到的例子:(每门课程的第一部分都很好)
id code newCode course
----------------------------
1 30002 3000231 aaaa-1
5 30009 300093 bbbb-1
7 30012 3001231 cccc-1
12 30013 3001331 dddd-1
我该怎么做? 我试过了:
SELECT Id, Distinct Code, newCode, Course, Internship
FROM courses
WHERE Year ='c' AND (Internship ='IS' OR Internship = '')
ORDER BY newCode ASC
为什么它不起作用,如果它没有“独特”,它会失败。
此外,下一个问题不太重要但仍然..有一种方法让我只得到课程本身的名称:“aaaa”而不是“aaaa-a1”考虑到名称不必是这样的模式,但我知道“ - ”之后的可能性是什么(如“-a1”或“-a2”)
答案 0 :(得分:0)
尝试GROUP BY
喜欢
SELECT Id, Code, newCode, Course, Internship
FROM courses
WHERE Year ='c' AND (Internship ='IS' OR Internship = '')
GROUP BY Code ORDER BY newCode ASC
答案 1 :(得分:0)
尝试将distinct
放在select
之后,如下所示:
SELECT distinct Id, Code, newCode, Course, Internship
FROM courses
WHERE Year ='c' AND (Internship ='IS' OR Internship = '')
ORDER BY newCode ASC
答案 2 :(得分:0)
对第一列使用distinct,在第一列第一列之后不能使用distinct