DISTINCT(c1),c2和DISTINCT c1,c2之间有什么不同

时间:2016-03-09 12:19:27

标签: mysql

正如标题所述,import java.io.*; import java.net.*; import java.util.Scanner; public class Server { public static void main(String args[]) throws IOException { // Declarem les variables a utilitzar ServerSocket serverSocket = null; Socket socket = null; InputStream inS = null; OutputStream outS = null; try { serverSocket = new ServerSocket(9999); while(true) { socket= serverSocket.accept(); inS = socket.getInputStream(); outS = socket.getOutputStream(); try{ BufferedReader br = new BufferedReader(new InputStreamReader(inS)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(outS)); System.out.println("THis is what the user wants = " + br.readLine()); String fileName = "Image.png"; String extension= ""; int i = fileName.lastIndexOf('.'); if (i > 0) { extension = fileName.substring(i+1); } String dataReturn = ""; if(extension.equals("png")) { bw.write("HTTP/1.0 200 OK\r\n"); bw.write("Content-Type: image/png\r\n"); bw.write("\r\n"); FileReader myFilepng = new FileReader(fileName); Scanner scanner1 = new Scanner(myFilepng); dataReturn = ""; while(scanner1.hasNextLine()) { dataReturn = scanner1.nextLine(); System.out.println(dataReturn); bw.write(dataReturn); } scanner1.close(); }else{ if(extension.equals("html")) { bw.write("HTTP/1.0 200 OK\r\n"); bw.write("Content-Type: text/html\r\n"); bw.write("\r\n"); bw.write("<TITLE>"+fileName+"/TITLE>"); FileReader myFile = new FileReader(fileName); Scanner scanner = new Scanner(myFile); dataReturn = ""; while(scanner.hasNextLine()) { dataReturn = scanner.nextLine(); System.out.println(dataReturn); bw.write(dataReturn); } scanner.close(); } } bw.close(); }catch(Exception e) { } } }catch (IOException e) { System.out.println(e); } inS.close(); outS.close(); socket.close(); } } DISTINCT(c1), c2之间存在哪些差异?

DISTINCT c1, c2是否像函数一样?我没有发现任何手册提及DISTINCT(c1)可以是一个功能。

示例输出:

DISTINCT

2 个答案:

答案 0 :(得分:1)

嗯。不同之处在于select distinct (c1), c2子句中select有额外的,不需要的括号。

DISTINCT 不是 SQL中的函数或运算符。它是一种SELECT语句,它适用于所有 SELECT中的列。括号没有相关性。

您可以像ALL中的UNION ALL一样考虑它。

答案 1 :(得分:1)

不,明显不像功能!它只是一种类似于GROUP BY子句正在做的选择。

Distinct将始终应用于select中指定的整行/所有列,因此如果添加括号则无关紧要。

它不喜欢用括号做,因为它会更难阅读和理解,并可能误导你在这里提出的同一个问题 - 它是否只适用于专栏。