[英]Inner join query to get result for each weapon
我有一個帶有內部聯接的查詢,但是WEAPON是未知的。 我想為每種武器爭取最好的殺手。 如何使用此查詢執行此操作? 我對高級查詢不是很了解。
$q = $mysql->query("SELECT `killerID`
, COUNT(`killerID`) AS tot_kills
, MIN(`Username`) AS username
FROM `kills`
INNER JOIN `players`
ON `players`.`id` = `kills`.`killerid`
WHERE `killText` LIKE '%###WEAPON###%'
GROUP BY `killerID`
ORDER BY `tot_kills` DESC") or die($mysql->error);
由於使用join
,因此需要在select子句中指定表名。 嘗試類似:
SELECT `kills`.`killerID`
, COUNT(`kills`.`killerID`) AS tot_kills
, MIN(`players`.`Username`) AS username
FROM `kills`
INNER JOIN `players`
ON `players`.`id` = `kills`.`killerid`
WHERE `kills`.`killText` LIKE '%###WEAPON###%'
GROUP BY `kills`.`killerID`
ORDER BY `kills`.`tot_kills` DESC
我想你應該按武器,而不是殺手ID,只要你想的數killerID
的weapon
。
請注意,您不需要所有這些反引號。 僅當查詢中的表名或列名是保留字之一時,才需要反引號。
SELECT killerID
, COUNT(killerID) AS tot_kills
, MIN(Username) AS username
FROM kills
INNER JOIN players
ON players.id = kills.killerid
WHERE killText LIKE '%###WEAPON###%'
GROUP BY kills.killText
ORDER BY tot_kills DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.