SELECT *
FROM VB_Names
WHERE Buurt = 'Spangen'
AND Gender = 'M'
AND Gender = 'V'
GROUP BY Name
ORDER BY COUNT DESC LIMIT 6
性別 'M' 列から 3 つの結果を取得し、性別 'V' 列から 3 つの結果を取得し、両方とも DESC でカウントしたいと考えています。
SELECT *
FROM VB_Names
WHERE Buurt = 'Spangen'
AND Gender = 'M'
AND Gender = 'V'
GROUP BY Name
ORDER BY COUNT DESC LIMIT 6
性別 'M' 列から 3 つの結果を取得し、性別 'V' 列から 3 つの結果を取得し、両方とも DESC でカウントしたいと考えています。
性別は、同じ行で「M」と「V」の両方であってはならないため、このクエリは何も返しません。代わりに、次を使用しますunion all
。
(SELECT *
FROM VB_Names
WHERE Buurt = 'Spangen' AND Gender = 'M'
ORDER BY count DESC
LIMIT 3
) UNION ALL
(SELECT *
FROM VB_Names
WHERE Buurt = 'Spangen' AND Gender = 'V'
ORDER BY count DESC
LIMIT 3
)
AND
条件を次のように変更しますOR
SELECT *
FROM VB_Names
WHERE Buurt = 'Spangen'
AND (Gender = 'M' OR Gender = 'V')
GROUP BY Name
ORDER BY COUNT DESC LIMIT 6