[英]Count distinct value pairs in multiple columns in SQL
什么查詢會計算行數,但由三個參數區分?
例子:
Id Name Address
==============================
1 MyName MyAddress
2 MySecondName Address2
就像是:
select count(distinct id,name,address) from mytable
要計算id
、 name
和address
的唯一組合的數量:
SELECT Count(*)
FROM (
SELECT DISTINCT
id
, name
, address
FROM your_table
) As distinctified
獲取所有不同的id
、 name
和address
列並計算結果行。
SELECT COUNT(*) FROM mytable GROUP BY id, name, address
我剛剛想出的另一種(可能不是生產就緒或推薦的)方法是將值連接到一個字符串並特別地計算這個字符串:
SELECT count(DISTINCT concat(id, name, address)) FROM mytable;
您還可以執行以下操作:
SELECT COUNT(DISTINCT id + name + address) FROM mytable
必須返回唯一的物料清單 (BOM) 的計數,其中每個 BOM 都有多個位置,我添加如下內容:
select t_item, t_pono, count(distinct ltrim(rtrim(t_item)) + cast(t_pono as varchar(3))) as [BOM Pono Count]
from BOMMaster
where t_pono = 1
group by t_item, t_pono
給定 t_pono 是 smallint 數據類型,t_item 是 varchar(16) 數據類型
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.