mysql 如何凭借几个列_我如何总结MySQL中的几个列
在這種特殊情況下,使用WHERE會(huì)不會(huì)更容易?
SELECT SUM(WTE) AS `Band6_WTE`
FROM `orthoptists` AS o
LEFT JOIN `instances` AS i
ON o.instance_FK = i.id
WHERE i.region = 14
AND band = "E"對(duì)于一般情況,您可以使用GROUP BY,因?yàn)槟f(shuō)您需要每個(gè)波段的結(jié)果(列波段中的每個(gè)值):
SELECT band, SUM(WTE) AS `WTE`
FROM `orthoptists` AS o
LEFT JOIN `instances` AS i
ON o.instance_FK = i.id
WHERE i.region = 14
GROUP BY band這將給出NULL或0,如果您愿意,可以使用IFNULL將NULL轉(zhuǎn)換為0:
IFNULL(SUM(WTE), 0)編輯:正如您在評(píng)論中指出的那樣,您需要為不同的樂(lè)隊(duì)而不是多行創(chuàng)建多個(gè)列。一般來(lái)說(shuō),你不應(yīng)該從SQL那里做到這一點(diǎn)(使用第二個(gè)查詢并從你的代碼執(zhí)行一個(gè)數(shù)據(jù)透視操作),但有一些例外情況,在SQL之外這樣做要復(fù)雜得多,所以這就是你如何做到這一點(diǎn)的:
SELECT
(SELECT SUM(WTE)
FROM `orthoptists` AS o
LEFT JOIN `instances` AS i
ON o.instance_FK = i.id
WHERE i.region = 14
AND band = "E") AS `Band6_WTE`,
(SELECT SUM(WTE)
FROM `orthoptists` AS o
LEFT JOIN `instances` AS i
ON o.instance_FK = i.id
WHERE i.region = 14
AND band = "F") AS `Band7_WTE`,
(SELECT SUM(WTE)
FROM `orthoptists` AS o
LEFT JOIN `instances` AS i
ON o.instance_FK = i.id
WHERE i.region = 14
AND band = "G") AS `Band8_WTE`精確的語(yǔ)法可能需要一些調(diào)整(一些數(shù)據(jù)庫(kù)要求每個(gè)SELECT包含一個(gè)FROM子句,有些可能需要一個(gè)子選擇中每列的名稱,我不認(rèn)為MySQL會(huì)這樣,但我現(xiàn)在無(wú)法檢查)但是這個(gè)原則應(yīng)該適用。
總結(jié)
以上是生活随笔為你收集整理的mysql 如何凭借几个列_我如何总结MySQL中的几个列的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql 存储过程求和_MySQL -
- 下一篇: php mysql刷新表格_php读入