对值ASC进行排序,然后通过排序表的索引获取相应的值

时间:2018-05-01 16:22:14

标签: mysql

我正在尝试使用索引进行查询。

例如,我对给定的问题有多个答案。

每个答案都有唯一的ID,用于排序。

enter image description here

我会在Answers表上使用查询:

static int minimumNumber(int n, String password){ int arr[]=new int[n]; String A[]=new String[4]; String numbers = "0123456789"; String lower_case = "abcdefghijklmnopqrstuvwxyz"; String upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; String special_characters = "!@#$%^&*()-+"; A[0]=numbers; A[1]=lower_case; A[2]=upper_case; A[3]=special_characters; for(int i=0;i<n;i++){ for(int k=0;k<4;k++){ for(int j=0;j<A[k].length();j++){ if(password.charAt(i)==A[k].charAt(j)){ arr[i]=k; } } } } int ano[]=new int[4]; ano[0]=0; ano[1]=1; ano[2]=2; ano[3]=3; for(int i=0;i<4;i++){ int a=0; for(int j=0;j<n;j++){ if(ano[i]==arr[j]){ break; } else if(arr[i]!=ano[j]){ a++; } } if(a==n){ password=password+A[i]; } } int n1=6-password.length(); if(n1>=2){ for(int i=0;i<n1;i++){ password=password+A[0].charAt(i); } } int w=password.length()-n; return w; } public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); String password = in.next(); int answer = minimumNumber(n, password); System.out.println(answer); in.close(); }

将回复满足要求的行。 相反,我想比较什么是响应的索引与我得到的。 例如,索引为0,它将是第一个元素,并在其上返回布尔值。

这是查询将回复的内容:

1 2 3

我需要检查是否存在作为回复的数组元素。 例如索引为0的元素,其中id为1.

有可能吗?

1 个答案:

答案 0 :(得分:0)

好的,所以我使用COUNT来做,我从上一个回答中注意到了。 所以我要为索引添加+1,例如0,然后查询并检查响应是否比我得到的索引长:

SELECT CASE WHEN COUNT(*) >= 1 THEN 1 ELSE 0 END FROM apurer.Answers WHERE apurer.Answers.question_id = 2 ORDER BY apurer.Answers.answer_id ASC