返回ID值

时间:2019-03-20 10:33:29

标签: sql mysqli

我有一个排列如下的简单表,我想编写一个查询,该查询返回具有最多事务的单个client_id。该表中的任何一个客户端都比其他任何客户端具有更多的事务。

transaction_id int 
client_id int 
comments varchar 

干杯。

3 个答案:

答案 0 :(得分:0)

这是一种通过对行进行计数,在client_id上分组然后过滤以计数降序排列的前1个来获取数据的方法。

declare @table table (
    transaction_id int,
    client_id int,
    comments varchar(20)
);

insert into @table (transaction_id, client_id, comments)
values
(1, 1, ''),
(2, 2, ''),
(3, 2, ''),
(4, 3, '')

    select top 1 client_id, count(*) as vol
    from @table
    group by client_id
    order by vol desc

答案 1 :(得分:0)

这将为您做到:

SELECT client_id FROM table_name GROUP BY client_id ORDER BY COUNT(*) DESC limit 1;

答案 2 :(得分:0)

select client_id, count(transaction_id)
from table
group by client_id
order by 2 desc
limit 1;

Group by有助于基于特定列收集记录,而count返回与该列值相对应的记录数。 Order by降序排列,limit 1限制为1条记录。