簡體   English   中英

具有標准名人的訪問計數記錄數

[英]access count number of records with criteria celebrity

我一直在尋找解決問題的方法,希望您能幫到我,我有一張桌子,上面有兩列,一個是名字,兩個是一個城鎮,我需要從埃皮特計算莎拉的次數,但是重復的次數是技巧我需要下面的表2這樣的結果

Name    town
Sarah   Egypt
John    Germany
Mick    France
Sarah   Egypt
Sarah   USA
John    Germany
Mick    France
John    Germany

Name    town    duplicate
Sarah   Egypt      1
John    Germany    1
Mick    France     1
Sarah   Egypt      2
Sarah   USA        1
John    Germany    2
Mick    France     2
John    Germany    3

您應該使用聚合函數count(*)並進行分組

select name, town, count(*) as duplicated 
from my_table 
group by  name, town

嘗試這個,

創建表:

create table test (name varchar(20), town varchar(20));

插入語句:

insert into test value('Sarah','Egypt');
insert into test values('John','Germany');
insert into test values('Mick','France');
insert into test values('Sarah','Egypt');
insert into test values('Sarah','USA');
insert into test values('John','Germany');
insert into test values('Mick','France');
insert into test values('Sarah','Egypt');

查詢:

set @x=1;
set @checkname='';
set @checktown='';
select name, town ,row_number
from ( select name, town, if(@checkname = name && @checktown = town,@x := @x + 1 ,@x := 1) as row_number,
@checkname := name, @checktown := town
from test
order by name, town 
) a 

您可以使用以下查詢:

SET @row_number:=1;
SET @name:='';
SET @town:='';
    SELECT @row_number:=CASE WHEN @name=name and @town=town THEN @row_number+1 
      ELSE 1 END AS row_number, @name:=name, @town:=town
    FROM Table1 order by name, town;

此處檢查SQL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM