sql 0到9的数据查询没有的

比如 a列的数据分别为0,1,1,2,2,3,4,5,6,8
查询结果是7或者9,万一数据0-9都存在那么找出重复次数最少的。
数据表
user
字段

a-b-c-d

1-2-3-4
1-2-3-4
2-1-1-2
5-1-1-5
6-1-1-2
现在用一条语句查询 一列里面的数值
a列查询的结果=6或5或2都行
b列查询结果为2
c列查询结果3
d列查询结果5
查询哪一列都行,能查询就可以
4列用4条语句或者一条语句都行

declare @num int;
declare @count int;
declare @result int = -1;
set @num = 0 ; 
while @num <= 9
begin
    select @count = count(*) from table_1 a where a.a = @num
    if @count = 0
    begin 
        @result = @num; -- 如果没有数字,返回
        break; 
    end
end 

if @result = -1
begin
     -- 如果全不存在,返回最少的
     -- 以a列进行分组,按数量进行排序,获取到的第一个值即是需要的重复次数最少的值
     select @result = b.a from 
     (select top 1 a.a,count(*) as count from tabel_1 a 
     group by a.a  order by count) b
end

追问

直接看不懂,sql编辑器 直接报错

温馨提示:答案为网友推荐,仅供参考
相似回答