簡體   English   中英

如何使用Distinct選擇查詢中的count元素?

[英]How get count element in query select with Distinct?

SELECT DISTINCT 
           t1.name as t1_name, 
           t1.unit as t1_unit, 
           t1.id_producer_goods AS hi_id_producer_goods, 
          t2.name as t2_name 
FROM Table1 t1 
    left join Table2 t2 on t1.id_web_site=t2.id_web_site 
WHERE t1.id='23'

如何獲取計數t1.name在它查詢?

我檢查代碼:

SELECT DISTINCT 
           t1.name as t1_name,
           count(t1.name) as count,           
           t1.unit as t1_unit, 
           t1.id_producer_goods AS hi_id_producer_goods, 
           t2.name as t2_name 
FROM Table1 t1 
    left join Table2 t2 on t1.id_web_site=t2.id_web_site 
WHERE t1.id='23'

但它的代碼有錯誤:

Column 'Table1.name' is invalid in the select list because
it is not contained in either an aggregate function or the GROUP BY clause.

我知道我在行count(t1.name) as count,寫的不是count(t1.name) as count,但是如何得到正確的計數t1.name

PS:查詢獲取具有唯一行t1.name, t1.unit, t1.id_producer_goods, t2.name 計數t1.name應顯示每個元素t1.name所有計數。

你必須添加

GROUP BY t1.name,t1.unit,hi.id_producer_goods,t2.name 

每當您沿其他列使用聚合函數時,您必須為其余列添加group by子句。

對於這些你可以刪除不同的。 Group by將為您完成。

暫無
暫無

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

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