0
我想算freelanceFeedback的秩序由計數是這樣的:MySQL的 - 指望一個加入
$sql = "SELECT authentication.*, (SELECT COUNT(*) FROM freelanceFeedback) as taskscount FROM authentication
LEFT JOIN freelanceFeedback
ON authentication.userId=freelanceFeedback.FK_freelanceWinnerUserId
WHERE `FK_freelanceProvider`=$what
ORDER BY taskscount DESC";
,但我有多個輸出,如果用戶有多個反饋,它不是由訂貨taskscount。
我想不出什麼「推特」是不對的..
**更新** 我想我找到了自己:
$sql = "SELECT DISTINCT authentication.*,
(SELECT COUNT(*) FROM freelanceFeedback
WHERE FK_freelanceWinnerUserId=userId
) as taskscount
FROM authentication
WHERE `FK_freelanceProvider`=$what
ORDER BY taskscount DESC";
這只是輸出1用戶和訂購的反饋量。
請提供樣品表。我相信你應該使用GROUP BY,但是很難在沒有樣本數據的情況下進行精確查詢 – mkk 2012-03-04 18:25:20
如果可以的話,請避免使用*有時對性能有害,並且始終對可讀性不好。陳述你想要的列,如果你是COUNTing,只需使用表ID。 – 2012-03-04 18:50:03