簡體   English   中英

SQL選擇列的順序重要嗎?

[英]does the order of columns in a SQL select matters?

我的問題是關於左聯接,我試圖計算有多少人在跟蹤某個項目。 (可以有零個關注者)

現在我能使它正常工作的唯一方法是添加

group by idproject

我的問題是,這是否是避免使用此方法的方法,而只是選擇和隱式
設置該組選項。

SQL:

select `project_view`.`idproject` AS `idproject`,
count(`track`.`iduser`) AS `c`,`name`
from `project_view` left join `track` using(idproject)

預計它將null視為零,但根本不會出現,
如果我忽略計數,則在沒有關注者的情況下顯示為null。

如果你有一個WHERE子句指定某個項目,那么你並不需要一個GROUP BY。

SELECT project_view.idproject, COUNT(track.iduser) AS c, name
FROM project_view
LEFT JOIN track USING (idproject)
WHERE idproject = 4

如果要為每個項目計數,則確實需要GROUP BY。

SELECT project_view.idproject, COUNT(track.iduser) AS c, name
FROM project_view
LEFT JOIN track USING (idproject)
GROUP BY idproject

是的,選擇順序很重要。 出於性能方面的考慮,您(通常)首先要選擇最大的限制來縮小數據集。 這使得每個后續查詢都在較小的數據集上進行操作。

暫無
暫無

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

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