Подсчитать вхождения и показать последнее вхождение в MYSQL

import java.lang.*;
import java.io.*;
public class rupee
{
public static void main(String[] args)throws  IOException
{

 int len=0,revnum=0,i,dup=0,j=0,k=0;
 int gvalue;
  String[] ones={"one","Two","Three","Four","Five","Six","Seven","Eight","Nine","Eleven","Twelve","Thirteen","Fourteen","Fifteen","Sixteen","Seventeen","Eighteen","Nineteen",""};
    String[] twos={"Ten","Twenty","Thirty","Fourty","fifty","Sixty","Seventy","eighty","Ninety",""};
System.out.println("\n Enter value");
InputStreamReader b=new InputStreamReader(System.in);
BufferedReader br=new BufferedReader(b);
gvalue=Integer.parseInt(br.readLine());
if(gvalue==10)

System.out.println("Ten");

else if(gvalue==100)

System.out.println("Hundred");

else if(gvalue==1000)
System.out.println("Thousand");

dup=gvalue;
for(i=0;dup>0;i++)
{
revnum=revnum*10+dup%10;
len++;
dup=dup/10;
}
while(j<len)
{
if(gvalue<10)
{
System.out.println(ones[gvalue-1]);
}
else if(gvalue>10&&gvalue<=19)
{
System.out.println(ones[gvalue-2]);
break;
}
else if(gvalue>19&&gvalue<100)
{
k=gvalue/10;
gvalue=gvalue%10;
System.out.println(twos[k-1]);
}
else if(gvalue>100&&gvalue<1000)
{
k=gvalue/100;
gvalue=gvalue%100;
System.out.println(ones[k-1] +"Hundred");
}
else if(gvalue>=1000&&gvalue<9999)
{
k=gvalue/1000;
gvalue=gvalue%1000;
System.out.println(ones[k-1]+"Thousand");
    }
else if(gvalue>=11000&&gvalue<=19000)
{
    k=gvalue/1000;
    gvalue=gvalue%1000;
    System.out.println(twos[k-2]+"Thousand");
}       
else if(gvalue>=12000&&gvalue<100000)
{
k=gvalue/10000;
    gvalue=gvalue%10000;
System.out.println(ones[gvalue-1]);
}
else
{
System.out.println("");
    }
j++;
}
}
}
1
задан Giancarlo Ventura 1 March 2019 в 03:36
поделиться

1 ответ

Это даст вам результат, который вы ищете:

CREATE TABLE test (
  serie varchar(1) NOT NULL,
  num int(1) NOT NULL
);

INSERT INTO test (serie, num) VALUES 
('A', 1),
('A', 2),
('A', 3),
('A', 5),
('B', 1),
('B', 3);

Если порядок строк имеет значение:

SELECT 
 a.serie,
 (SELECT count(*) FROM test WHERE serie=a.serie) as occurances,
 a.num
FROM
  test AS a
  LEFT JOIN test AS b on a.serie=b.serie AND a.num<b.num
  WHERE 
b.serie IS NULL;

Если порядок или строки НЕ имеют значения:

SELECT 
  a.serie,
  COUNT(*) AS occurances,
  MAX(a.num) AS last_number_value
FROM
  test AS a
GROUP BY a.serie;
0
ответ дан Miroslav Glamuzina 1 March 2019 в 03:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: