什么查询将计算行数,但是由三个参数区分?
示例:
Id Name Address
==============================
1 MyName MyAddress
2 MySecondName Address2
类似的东西:
select count(distinct id,name,address) from mytable
答案 0 :(得分:26)
要计算id
,name
和address
的唯一组合数:
SELECT Count(*)
FROM (
SELECT DISTINCT
id
, name
, address
FROM your_table
) As distinctified
答案 1 :(得分:8)
获取所有不同的id
,name
和address
列并计算结果行。
SELECT COUNT(*) FROM mytable GROUP BY id, name, address
答案 2 :(得分:5)
我刚想出的另一个(可能不是生产就绪或推荐的)方法是将值连接到一个字符串并以不同的方式计算这个字符串:
SELECT count(DISTINCT concat(id, name, address)) FROM mytable;
答案 3 :(得分:1)
您还可以执行以下操作:
SELECT COUNT(DISTINCT id + name + address) FROM mytable
答案 4 :(得分:0)
必须返回唯一物料清单(BOM)的数量,其中每个BOM都具有多个位置,所以我会这样:
> df2
col1 col2 col3 col4 col5 col6 col7 col8 col9
1 ab ac abc abcd abcdd 0 0 NA NA
2 bc bd bd bc bd 3 2 col3, col4, col5 col1, col2
3 cd ce cde cdef cdeff 0 0 NA NA
4 de df def defg defgg 0 0 NA NA
5 ef ef efg ef ef 3 2 col2, col4, col5 col1, col3
6 fg fh fgh fghj fghjj 0 0 NA NA
7 gh gj ghj ghjk ghjkk 0 0 NA NA
8 hj hk hjk hjkl hjkll 0 0 NA NA
9 jk jl jkl jklm jklmm 0 0 NA NA
10 kl km klm klmn klmnn 0 0 NA NA
11 lm ln lmm lmmo lmmoo 0 0 NA NA
12 mn mo mno mnop mnopp 0 0 NA NA
13 no np nop nopr noprr 0 0 NA NA
14 op or opr oprs oprss 0 0 NA NA
15 pr ps prs prst prstt 0 0 NA NA
16 xxx xyz aaa xxx aaa 2 3 col4, col5 col1, col2, col3
给出t_pono是smallint数据类型,而t_item是varchar(16)数据类型